LeanCloud Android 实时通信服务 搭建聊天
来源:互联网 发布:linux运维项目经验 编辑:程序博客网 时间:2024/05/19 05:38
Reference
https://leancloud.cn/docs/android_realtime_v2.html
https://github.com/leancloud/leanchat-android
一对一的文本聊天
。。。。。。。官网写得太详细了,还是看官网吧。。。。。。。
初始化
public class MyApplication extends Application{ public void onCreate(){ ... AVOSCloud.initialize(this,"",""); ... }}
<manifest> ... <application android:name=".MyApplication" ....> ... <service android:name="com.avos.avoscloud.PushService" /> <receiver android:name="com.avos.avoscloud.AVBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.USER_PRESENT" /> </intent-filter> </receiver> ... </application></manifest>
登陆
AVIMClient imClient = AVIMClient.getInstance("Tom");imClient.open(new IMClientCallback(){ @Override public void done(AVIMClient client, AVException e) { if (null != e) { // 出错了,可能是网络问题无法连接 LeanCloud 云端,请检查网络之后重试。 // 此时聊天服务不可用。 e.printStackTrace(); } else { // 成功登录,可以开始进行聊天了(假设为 MainActivity)。 Intent intent = new Intent(currentActivity, MainActivity.class); currentActivity.startActivity(intent); }; }});
建立对话
List<String> clientIds = new ArrayList<String>();clientIds.add("Tom");clientIds.add("Bob");// 我们给对话增加一个自定义属性 type,表示单聊还是群聊// 常量定义:// int ConversationType_OneOne = 0; // 两个人之间的单聊// int ConversationType_Group = 1; // 多人之间的群聊Map<String, Object> attr = new HashMap<String, Object>();attr.put("type", ConversationType_OneOne);imClient.createConversation(clientIds, attr, new AVIMConversationCreatedCallback() { @Override public void done(AVIMConversation conversation, AVException e) { if (null != conversation) { // 成功了,这时候可以显示对话的 Activity 页面(假定为 ChatActivity)了。 Intent intent = new Intent(this, ChatActivity.class); Intent.putExtra(“conversation”, conversation); startActivity(intent); } }});
发送消息&接受消息
AVIMMessage message = new AVIMMessage();message.setContent("hello");conversation.sendMessage(message, new AVIMConversationCallback() { @Override public void done(AVException e) { if (null != e) { // 出错了。。。 e.printStackTrace(); } else { Logger.d("发送成功,msgId=" + message.getMessageId()); } }});
// 自定义消息响应类class CustomMessageHandler extends AVIMMessageHandler { @Override public void onMessage(AVIMMessage message, AVIMConversation conversation, AVIMClient client) { // 新消息到来了。在这里增加你自己的处理代码。 String msgContent = message.getContent(); Logger.d(conversation.getConversationid() + " 收到一条新消息:" + msgContent); }}// application 的初始化部分public void onCreate(){ ... AVOSCloud.initialize(this,"",""); AVIMMessageManager.registerDefaultMessageHandler(new CustomMessageHandler()); ...}// 用户登录部分AVIMClient imClient = AVIMClient.getInstance("Bob");imClient.open(new IMClientCallback(){ @Override public void done(AVIMClient client, AVException e) { if (null != e) { // 出错了,可能是网络问题无法连接 LeanCloud 云端,请检查网络之后重试。 // 此时聊天服务不可用。 e.printStackTrace(); } else { // 成功登录,可以开始进行聊天了。 }; }});
退出登录
AVIMClient.close(final AVIMClientCallback callback)
0 0
- LeanCloud Android 实时通信服务 搭建聊天
- Laravel通过Guzzel使用LeanCloud实现 实时通信
- Android实时语音聊天
- PHP+swoole+websocket聊天实时通信
- android 蓝牙通信 聊天
- 蓝牙实时通信——蓝牙实时聊天demo
- Android实时通信
- Android聊天软件的开发--聊天通信
- android下载leancloud文件
- Socket 通信(基础原理、实时聊天系统雏形)
- Android网络通信实时更新
- Android网络通信实时更新
- centOS6.5 node.js+socket.IO搭建WebSocket,实时聊天
- LeanCloud
- 实时通信服务架构:微服务和服务发现
- Android聊天软件的开发(七)--聊天通信
- Android服务通信
- LeanCloud android sdk安装指南
- ToDictionary test
- 四大组件——Service
- 【github】常用Github项目类库
- rk3288 ov8858 camera mipi 30p 黑屏修改cam_board.xml文件
- hive编程指南——读书笔记(无知拾遗)
- LeanCloud Android 实时通信服务 搭建聊天
- [树莓派]raspberry pi 设置静态ip
- hdu 3586 Information Disturbing (树形dp+二分)
- java中hashset是怎么保证内部只存放一份对象
- 单选框 name 属性一定要一致
- [SSH]ssh冲突问题
- hibernate配置步骤
- jar类库打包与使用
- 局域网共享文件夹方法