升级2.6.0stable接口相关变动和可能遇见的错误
2016-05-11 09:58
357 查看
2.6.0 dev 是一个里程碑的 versaion 。因为其中做了相当多的改动和优化,如果你是新用户可无须参考下面文档直接集成。如果你是从下2.+版本准备升级 2.6.0 版本的开发者需要仔细阅读下面文档。
优化如下:
1 push 整体优化 push到达率大幅提升
2 用户信息缓存设计优化
3 相册优化(相册文件夹,预览等)
4 一些 UI 和细节上的优化
改动如下:
1 用户信息提供者的接口变动
之前的用户信息缓存只做了内存缓存 ,此次优化变更后新增一级数据库缓存。
2 包名变更(直接更换 Kit 依赖的可以无视此处)
io.rong.imkit.util 下包名全部变更为: io.rong.imkit.utils
例:
import io.rong.imkit.utils.AndroidEmoji;
import io.rong.imkit.utils.RongDateUtils;
3 第三方库的冲突解决变更
eventbus 是 android 常用的第三方类库
2.6.0stable 的版本已解决 eventbus 冲突的问题
4 AsyncImageView 的 用法改变(改动地方较多)
地理位置中
LocationMapActivity.java 中的 addMarker 方法
imageView.setResource(url, 0);
不再需要 new Resource
5 需要注释代码
RongIMClient.recordNotificationEvent(id);
RongIM.getInstance().getRongIMClient().clearNotifications();
6
push 整体优化 push到达率大幅提升:支持小米,华为,GCM 推送,服务器后台智能切换
push manifest 配置
以前旧的 manifest 的 push 相关的广播服务需要去除。换成新的
详情请见 push配置文档
7 接口调用问题
RongIM.getInstance().getRongIMClient().XXX 的方法已经过时 并且不推荐使用
以后代码中直接 RongIM.getInstance().XXX
例如:
old:
RongIM.getInstance().getRongIMClient().sendMessage
new:
RongIM.getInstance().sendMessage
8 connect 连接判断问题
以前可能判断是否有RongIM 和 RongIMClient 实例 和 判断与融云服务端 connect 状态大家会这样写
if(RongIM.getInstance() != null && RongIM.getInstance().getRongIMClient() != null){}
但是在 2.6.0 以后都不建议这样去写了
直接获取与融云连接状态的枚举做判断即可,写法如下
以上八点是笔者亲测 解决的编译报错 报错的类可能很多 但是重复就是这些 1 3 4 这三个点的问题
文档:http://www.rongcloud.cn/docs/android_push.html
2 用户信息缓存设计优化,支持用户信息离线存储
3 相册优化,按时间排序,文件夹分类,+号区域拍照入口移至相册
4 一些 UI 和细节上的优化
5 为避免冲突,修改了 eventbus,photoView, imageLoader 包名,用户有两个选择:使用我们修改后的(对应包名 io.rong.imageloader, io.rong.eventbus, io.rong.photoview)或者下载官方的
6 优化了AsyncImageView控件,更改了部分方法,防止头像图片过大,滑动卡顿问题。会解决 oom 问题
7 废弃了 RongIM.getInstance().getRongIMClient()的调用方式,如果使用 Kit 中的接口,请直接以 RongIM.getInstance()方式使用
不要再让用户判断是否是 RongIM.getInstance().getRongIMClient()==null
8 kit 中增加了创建讨论组接口,这样用户在启用讨论组界面时,也可以拿到讨论组 id
9 RongIMClient 中增加了 sendMessage(final Conversation.ConversationType type, final String targetId, final MessageContent content, final String pushContent, final String pushData, IRongCallback.ISendMessageCallback callback)
接口,使用这个接口发送消息成功后,就可以拿到 message 的 uid
优化如下:
1 push 整体优化 push到达率大幅提升
2 用户信息缓存设计优化
3 相册优化(相册文件夹,预览等)
4 一些 UI 和细节上的优化
改动如下:
1 用户信息提供者的接口变动
之前的用户信息缓存只做了内存缓存 ,此次优化变更后新增一级数据库缓存。
2 包名变更(直接更换 Kit 依赖的可以无视此处)
io.rong.imkit.util 下包名全部变更为: io.rong.imkit.utils
例:
import io.rong.imkit.utils.AndroidEmoji;
import io.rong.imkit.utils.RongDateUtils;
3 第三方库的冲突解决变更
eventbus 是 android 常用的第三方类库
2.6.0stable 的版本已解决 eventbus 冲突的问题
4 AsyncImageView 的 用法改变(改动地方较多)
地理位置中
LocationMapActivity.java 中的 addMarker 方法
imageView.setResource(url, 0);
不再需要 new Resource
5 需要注释代码
RongIMClient.recordNotificationEvent(id);
RongIM.getInstance().getRongIMClient().clearNotifications();
6
push 整体优化 push到达率大幅提升:支持小米,华为,GCM 推送,服务器后台智能切换
push manifest 配置
以前旧的 manifest 的 push 相关的广播服务需要去除。换成新的
详情请见 push配置文档
7 接口调用问题
RongIM.getInstance().getRongIMClient().XXX 的方法已经过时 并且不推荐使用
以后代码中直接 RongIM.getInstance().XXX
例如:
old:
RongIM.getInstance().getRongIMClient().sendMessage
new:
RongIM.getInstance().sendMessage
8 connect 连接判断问题
以前可能判断是否有RongIM 和 RongIMClient 实例 和 判断与融云服务端 connect 状态大家会这样写
if(RongIM.getInstance() != null && RongIM.getInstance().getRongIMClient() != null){}
但是在 2.6.0 以后都不建议这样去写了
直接获取与融云连接状态的枚举做判断即可,写法如下
if (RongIM.getInstance().getCurrentConnectionStatus().equals(ConnectionStatus.CONNECTED)) { }
以上八点是笔者亲测 解决的编译报错 报错的类可能很多 但是重复就是这些 1 3 4 这三个点的问题
releaseNote:
1 push 整体优化 push到达率大幅提升:支持小米,华为,GCM 推送,服务器后台智能切换文档:http://www.rongcloud.cn/docs/android_push.html
2 用户信息缓存设计优化,支持用户信息离线存储
3 相册优化,按时间排序,文件夹分类,+号区域拍照入口移至相册
4 一些 UI 和细节上的优化
5 为避免冲突,修改了 eventbus,photoView, imageLoader 包名,用户有两个选择:使用我们修改后的(对应包名 io.rong.imageloader, io.rong.eventbus, io.rong.photoview)或者下载官方的
6 优化了AsyncImageView控件,更改了部分方法,防止头像图片过大,滑动卡顿问题。会解决 oom 问题
7 废弃了 RongIM.getInstance().getRongIMClient()的调用方式,如果使用 Kit 中的接口,请直接以 RongIM.getInstance()方式使用
不要再让用户判断是否是 RongIM.getInstance().getRongIMClient()==null
8 kit 中增加了创建讨论组接口,这样用户在启用讨论组界面时,也可以拿到讨论组 id
9 RongIMClient 中增加了 sendMessage(final Conversation.ConversationType type, final String targetId, final MessageContent content, final String pushContent, final String pushData, IRongCallback.ISendMessageCallback callback)
接口,使用这个接口发送消息成功后,就可以拿到 message 的 uid
相关文章推荐
- 贝塞尔二次、三次曲线
- IOS高级开发~Runtime(四)
- Myeclipse启动tomcat console没有信息
- 侧滑框——SlidingMenu
- 如何透过SSH代理穿越跳板机
- ajax无刷新分页的简单实现
- 剑指offer之面试题12打印1到最大的n位数
- arcTo 画 狐行
- IOS高级开发~Runtime(三)
- Verilog基础知识0(`define、parameter、localparam三者的区别及举例)
- MySQL数据库实例参数对比脚本
- C#中Timer使用及解决重入问题
- 数组把相同的数值取出来
- vim脚本语言
- 架构和框架的区别
- android 开发技巧、问题汇总
- 横竖屏切换
- fillStyle图片填充
- Swift自己定义并实现拷贝方法
- IOS高级开发~Runtime(二)