融云 IMKit SDK 5.X 降级阐明
Tips
如果您利用依赖于 suport 包,可参考 AndroidX 迁徙文档将依赖转换为 AndroidX 后,再集成 IMKit SDK 5.X 版本。
1. 类门路调整
IMKit SDK 5.X 版本重构了 SDK 的架构,通过 MVVM 框架实现,导致很多类门路产生了更改,下表列出了 5.X 之前版本对外公开类的门路变更:
2.x、4.x 版本门路 | 5.x 版本门路 |
---|---|
io.rong.imkit.fragment.ConversationListFragment | io.rong.imkit.conversationlist.ConversationListFragment |
io.rong.imkit.fragment.ConversationFragment | io.rong.imkit.conversation.ConversationFragment |
io.rong.imkit.RongExtension | io.rong.imkit.conversation.extension |
io.rong.imkit.userInfoCache.RongUserInfoManager | io.rong.imkit.userinfo.RongUserInfoManager |
io.rong.imkit.mention.RongMentionManager | io.rong.imkit.feature.mention.RongMentionManager |
io.rong.imkit.manager.IUnReadMessageObserver | io.rong.imkit.manager.UnReadMessageManager.IUnReadM |
门路调整 Tips
参照上表,在 AndroidStudio 中 command+shift+R 全局搜寻旧的类门路,替换为新门路。
如果深度定制化了 IMKit SDK,局部类门路的调整可能不在上述列表中,降级当前 AndroidStudio 会有红色报错。删除报错类里红色未辨认的导入门路,鼠标停留到报错的中央,依据 AndroidStudio 的提醒导入新门路即可。如果有多个中央应用了该门路,能够参考第一步里的办法,全局搜寻并替换。
2. 集成形式变更
页面跳转时由原先的隐式调用形式更改为显示调用,因而集成步骤有所简化和更改。您须要先移除旧版本 AndroidManifest.xml 文件中对于 IMKit SDK 的配置,参考官网文档从新集成。
3. 音讯展现模板变更
列表页由 ListView 更改为效率更高的 RecycleView,因而自定义音讯的展现模板须要对应调整。
将自定义音讯的展现模板更改为继承 BaseMessageItemProvider<>, 并实现基类办法。
移除展现模板里原先的注解,原注解属性可在新模板构建类里通过调用基类成员 mConfig 的各个办法进行配置
4. 外部实现变更
资源名称变更。IMKit SDK 5.x 版本从新对立了资源名称的命名,如果您自定义了局部资源文件,可参考官网自定义文档,从新替换对应名称的资源。
移除了 EventBus。IMKit 5.x 版本不再依赖于 EventBus 进行事件散发,更改为通过观察者模式实现。如果您利用里应用了旧版本 SDK 里的 EventBus, 降级后须要您从应用层本人引入依赖。
移除 RongContext 类。如果您利用里有调用 RongContext 作为上下文应用的中央,请更改为调用您本人的利用上下文。
因为更改为 MVVM 框架,原 fragment 里很多业务相干接口被移除,您可参考官网 5.x 版本文档从新进行页面自定义。