您的位置:首页 > 其它

升级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 以后都不建议这样去写了

直接获取与融云连接状态的枚举做判断即可,写法如下

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: