升级2.6.0stable接口相关变动和可能遇见的错误

2.6.0 stable 是一个里程碑的 versaion 。因为其中做了相当多的改动和优化,如果你是新用户可无须参考下面文档直接集成。如果你是从下2.+版本准备升级 2.6.0 版本的开发者需要仔细阅读下面文档。

优化如下:

1 push 整体优化 push到达率大幅提升

2 用户信息缓存设计优化

3 相册优化(相册文件夹,预览等)

4 一些 UI 和细节上的优化

改动如下:

1 用户信息提供者的接口变动

之前的用户信息缓存只做了内存缓存 ,此次优化变更后新增一级数据库缓存。当然接口也有一些变化了

old:

RongContext.getInstance().getXXX

new:

RongUserInfoManager.getInstance().getXXX

以 demo 为例变更类:

ContactNotificationMessageProvider.java

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 manifest 配置

以前旧的 manifest 的 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() == ConnectionStatus.CONNECTED) {
                    }

以上八点是笔者亲测 解决的编译报错 报错的类可能很多 但是重复就是这些 1 3 4 这三个点的问题

时间: 2024-10-22 11:35:24

升级2.6.0stable接口相关变动和可能遇见的错误的相关文章

java接口相关例题

java接口相关习题 interface Graphics{  //接口里面只能用抽象方法  public abstract double area();    }//设置 平面类class PlaneGraphics1{    private String shape; //形状    //构造方法,有参数    public PlaneGraphics1(String shape)    {        this.shape=shape;    }    //无参数    public P

与接口相关的设计模式(2):代理模式、标识类型模式及常量接口模式

在上文与接口相关的设计模式(1)中,详细介绍了定制服务模式和适配器模式,下面我们来看第三种与接口相关的模式:代理模式. 代理模式 定义:为对象提供一种代理,以控制对这个对象的访问. 分类: 远程代理(Remote Proxy)-为不同地理的对象提供局域网代表对象.(类似于客户端和服务器端) 虚拟代理(Virtual Proxy)-根据需要将资源消耗很大的对象进行延迟,真正需要的时候才进行创建.(网页中图片的加载,先用一张虚拟的图片进行显示,等图片加载完成后再进行显示) 保护代理(Protect

微信公众号接口相关操作

<?php /** * 微信公众号接口相关操作 */ class WeChat { private $_appid; private $_appsecret; private $_token; public function __construct($_appid,$_appsecret,$_token) { $this->_appid=$_appid; $this->_appsecret=$_appsecret; $this->_token=$_token; } //获得微信通信

升级android sdk到5.0时,创建项目出现错误:No resource found that matches the given name &#39;android:Widget.Material.A

升级sdk 到5.0时,创建项目时会多创建一个库项目,叫appcompat_v7. 创建完成后,这个项目可能会报错,诸如出现:No resource found that matches the given name 'android:Widget.Material.ActionButton'等错误. 下面是一些解决方案: 解决方案1: 使用sdk manager下载以下内容: 解决方案2: 如果你不想创建appcompat_v7,你可以在创建项目时将minimum Required SDK设置

lnmp升级nginx引起的 nginx:Can&#39;t locate nginx.pm 错误

如果启动nginx报错: 正在启动 nginx:Can't locate nginx.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .). BEGIN failed--compilation aborted. ngi

Go基础:接口相关

//  interface相关 package main import (  "fmt"  "math" ) // 接口,定义了method // 该接口类型的值必须实现里面定义的method type Abser interface{  Abs() float64 } type MyFloat float64 type Vertex struct{  X, Y float64 } //  MyFloat实现Abs方法 func (f MyFloat) Abs()

EBS OM销售订单接口相关

OM接口相关表: 1. OE_HEADERS_IFACE_ALL 此表为多组织表,用于将销售订单头插入开放接口.    该表存储来自于其他子系统需要导入OM模块的订单头信息,    该表导入时必须输入的字段/条件:    ORDER_SOURCE_ID : Order source id 可选    ORIG_SYS_DOCUMENT_REF: Original system document reference 必须    ORDER_SOURCE : Order source 可选    O

java之接口相关知识

1.接口用interface来声明 //定义一个动物接口 public interface Animal{ public void eat(); public void travel(); } 2.接口中的方法是抽象方法,抽象不能有方法体,并且接口中的方法默认的访问修饰符为public abstract 3.JDK1.8中,接口中的方法可以被default和static修饰,但是被修饰的方法必须有方法体 原文地址:https://www.cnblogs.com/wgblog-code/p/110

php应用sphinx接口相关操作

//emailid的范围 $sphinx->SetIdRange($min, $max); //属性过滤,可过滤的属性必需在配置文件中设置sql_attr_ ,之前我们定义了这些 sql_attr_uint = fromid sql_attr_uint = toid sql_attr_timestamp = sendtime //如果你想再次修改这些属性,配置完成后记得重新建立索引才能生效 //指定一些值 $sphinx->SetFilter('fromid', array(1,2)); //