即时通信(集成第三方)-阿里云开发者社区

开发者社区> 非花非雾> 正文

即时通信(集成第三方)

简介:
+关注继续查看

项目要求需要聊天功能,还需要比较完善的聊天功能,还要一个星期左右做完,想想,真难,最后只能用第三方,环信一个还比较靠谱的第三方

介绍下这个的嵌入吧,很简单,最笨的办法,把他的所有代码都拷到你的项目中,所有的,一个不少,然后把你的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了

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9725 0
<转>Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
http://www.cnblogs.com/AnnieKim/archive/2012/01/01/2309567.html
549 0
第三方登陆图标处理探究
很多应用都使用了第三方登陆,但是如果用户没有安装第三方登陆的app,那么怎么处理呢? 没有安装部分应用的情况 美丽说 唯品会 蘑菇街 1号店 全部安装的情况 美丽说 唯品会 蘑菇街 1号店 探究 可以看到,应用在处理一些界面时,不但是要按照设计图来实现,同时也要考虑非正常情况,用户体验就在这里吧,做,或不做,它就在那里,不惊不喜~ 注:本文首发于 iHTCboy's blog,如若转载,请注明来源。
807 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13448 0
C#无需第三方插件实现json和table互转
C# 数据库查询结果table转化为json字符串,或反向把json字符串转换为DataTable数据集合 以下代码经实践简单可用。 转换通用类定义: using System; using System.
2574 0
《第三方JavaScript编程》——第1章 第三方JavaScript介绍 1.1 第三方JavaScript的定义
第三方JavaScript是一种JavaScript编程模式,可以用来创建高度分布式的Web应用程序。常规的Web应用需要通过一个特定的Web地址访问,而第三方JavaScript创建的应用,只需要引入一些简单的JavaScript脚本就可以加载到任意页面上。
1256 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11702 0
闲鱼同城第三方对接架构设计
从效率到质量,闲鱼同城第三方对接架构设计我们做了这几件事
127 0
+关注
81
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载