首先Fetion要有好友类,好友类有好多属性,先设置四个:飞信号码、电话号码、签名、在线状态,代表所有的属性。
Buddy
Buddy
package com.dr.fetion;
public class Buddy {
private String fid;//飞信号码
private String mp;//电话
private String imprease;//签名
private int flag;//在线状态
public String getFid() {
return fid;
}
public void setFid(String fid) {
this.fid = fid;
}
public String getMp() {
return mp;
}
public void setMp(String mp) {
this.mp = mp;
}
public String getImprease() {
return imprease;
}
public void setImprease(String imprease) {
this.imprease = imprease;
}
public int getFlag() {
return flag;
}
public void setFlag(int flag) {
this.flag = flag;
}
}
然后是Fetion的服务器端FetionServer。每个Fetion用户的信息都保存在服务器端,当然也包括好友列表,当客户端登录时会以电话号码来寻找好友列表。
FetionServer
FetionServer
package com.dr.fetion;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FetionServer {
private static List<Buddy> buddyList1 = new ArrayList<Buddy>();
private static List<Buddy> buddyList2 = new ArrayList<Buddy>();
private static Map<String,List<Buddy>> BuddyMap= new HashMap<String,List<Buddy>>();
static {
Buddy buddy = new Buddy();
buddy.setFid("001");
buddy.setMp("15097559394");
buddy.setImprease("Hello !!");
buddy.setFlag(0);
buddyList1.add(buddy);
buddy = new Buddy();
buddy.setFid("002");
buddy.setMp("15097559395");
buddy.setImprease("Hi ,Hello !!");
buddy.setFlag(1);
buddyList1.add(buddy);
BuddyMap.put("15097559300", buddyList1);
// ---------------------------------------------------
buddy = new Buddy();
buddy.setFid("003");
buddy.setMp("15097559303");
buddy.setImprease("Hello !!");
buddy.setFlag(0);
buddyList2.add(buddy);
buddy = new Buddy();
buddy.setFid("004");
buddy.setMp("15097559302");
buddy.setImprease("Hi ,Hello !!");
buddy.setFlag(1);
buddyList2.add(buddy);
BuddyMap.put("15097559301", buddyList2);
}
public static List<Buddy> getBuddyList(String mp) {
List<Buddy> buddyList = BuddyMap.get(mp);
return buddyList;
}
}
最后是Fetion的客户端FetionClient。用户以电话号码和密码登录后,连接服务器端,获取好友列表,并判断好友的在线状态。
FetionClient
FetionClinet
package com.dr.fetion;
import java.util.List;
public class FetionClient {
public static List<Buddy> loginFetion(String mp){
List<Buddy> buddyList = FetionServer.getBuddyList(mp);
return buddyList;
}
public static void main(String[] args){
String mp = "15097559301";
String pwd = "123";
List<Buddy> buddyList = loginFetion(mp);
for (Buddy buddy:buddyList){
if(buddy.getFlag()==1){
System.out.println("飞信号码:"+buddy.getFid()+",手机号:"+buddy.getMp()+",签名:"+buddy.getImprease()+"在线");
}else{
System.out.println("飞信号码:"+buddy.getFid()+",手机号:"+buddy.getMp()+",签名:"+buddy.getImprease()+"离线");
}
}
}
}
我们在FetionServer保存了两个用户的好友列表,分别是15097559301和15097559300的,所以我们一不同的身份登录客户端,就会得到不同的好友列表。
以15097559300登录的结果:
以15097559301登录的结果:
posted on 2010-10-27 17:10
Mineralwasser 阅读(108)
评论(0) 编辑 收藏