很久没有写博客了,回顾了一下原先学习的,接着没有写完的继续写咯。(ps:告诉大家一个秘密,其实写写博客对自己的帮助是非常大的哦~)
好了废话不多说,进入主题吧。
一、单人聊天
1)发送消息:
首先要获取一个聊天窗口,getConnection()为获取连接connection的方法,调用getFriendChat()获取
privateMapchatManage =newHashMap();// 聊天窗口管理map集合
/**
* 获取或创建聊天窗口
* @param friend 好友名
* @param listenter 聊天監聽器
* @return
*/
publicChat getFriendChat(String friend, MessageListener listenter) {
if(getConnection()==null)
returnnull;
/** 判断是否创建聊天窗口 */
for(String fristr : chatManage.keySet()) {
if(fristr.equals(friend)) {
// 存在聊天窗口,则返回对应聊天窗口
returnchatManage.get(fristr);
}
}
/** 创建聊天窗口 */
Chat chat = getConnection().getChatManager().createChat(friend + "@"+
getConnection().getServiceName(), listenter);
/** 添加聊天窗口到chatManage */
chatManage.put(friend, chat);
returnchat;
}
friend为好友名,不是JID;listener 监听器可以传null,利用聊天窗口对象调用sendMessage发送消息
这里sendMessage我传的是一个JSON字符串,以便更灵活的控制,发送消息完成,很简单吧~
Chat chat = getFriendChat(friend,null);
try{
String msgjson = "{\"messageType\":\""+messageType+"\",\"chanId\":\""+chanId+"\",\"chanName\":\""+chanName+"\"}";
chat.sendMessage(msgjson);
} catch(XMPPException e) {
e.printStackTrace();
}
2)接受消息:
创建一个消息监听器&#