首先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 閱讀(110)
評論(0) 編輯 收藏