标签:fragment 聊天 openfire 即时通信 xmpp
项目要求需要聊天功能,还需要比较完善的聊天功能,还要一个星期左右做完,想想,真难,最后只能用第三方,环信一个还比较靠谱的第三方
介绍下这个的嵌入吧,很简单,最笨的办法,把他的所有代码都拷到你的项目中,所有的,一个不少,然后把你的application中加入application中的初始化代码
在,然后把你自己程序的用户的userId作为环信注册的id,这样就可以把你的软件跟他的聊天功能进行绑定,绑定以后你就可以再你需要聊天的地方直接跳转聊天界面,只要把你当前用户的userId传过去就ok,很简单吧,其实东西不难,只是缺少实践。
还有需要注意的地方是
EMChatManager.getInstance().login(userId+"", MainApplication.PASSWORD, new EMCallBack() {
@Override
public void onSuccess() {
// TODO Auto-generated method stub
System.out.println("jinlai l wa w a a a"+userId);
// demo中简单的处理成每次登陆都去获取好友username,开发者自己根据情况而定
// 获取群聊列表(群聊里只有groupid和groupname等简单信息,不包含members),sdk会把群组存入到内存和db中
try {
EMGroupManager.getInstance().loadAllGroups();
EMChatManager.getInstance().loadAllConversations();
List<String> usernames = EMContactManager.getInstance().getContactUserNames();
EMLog.d("roster", "contacts size: " + usernames.size());
Map<String, User> userlist = new HashMap<String, User>();
for (String username : usernames) {
User user = new User();
user.setUsername(username);
userlist.put(username, user);
}
// 添加user"申请与通知"
User newFriends = new User();
newFriends.setUsername(Constant.NEW_FRIENDS_USERNAME);
newFriends.setNick("申请与通知");
newFriends.setHeader("");
userlist.put(Constant.NEW_FRIENDS_USERNAME, newFriends);
// 添加"群聊"
User groupUser = new User();
groupUser.setUsername(Constant.GROUP_USERNAME);
groupUser.setNick("群聊");
groupUser.setHeader("");
userlist.put(Constant.GROUP_USERNAME, groupUser);
// 存入内存
MainApplication.getInstance().setContactList(userlist);
// 存入db
UserDao dao = new UserDao(Login_bindingActivity.this);
List<User> users = new ArrayList<User>(userlist.values());
dao.saveContactList(users);
EMGroupManager.getInstance().getGroupsFromServer();
} catch (EaseMobException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onProgress(int arg0, String arg1) {
// TODO Auto-generated method stub
}
@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
}
});
这个里边的代码就是保存联系人,等的代码是不能删除的,否则你在下次进来调用最近联系的时候是没有数据的,还是多看api就好了、
聊天现在如果是自己开发的话,一般用的多的都是xmpp+openFire+asmake,如果时间又短又要效果那么就用第三方吧,对于程序原来说,有时候只要实现了功能就ok了
标签:fragment 聊天 openfire 即时通信 xmpp
原文地址:http://blog.csdn.net/u012808234/article/details/42078969