Android 融云SDK-即时通讯IM(附源码)

前期准备:

注册开发者帐号

开发者在集成融云即时通讯、实时网络能力前,需前往融云官方网站注册创建融云开发者帐号。App Key这个有用,后面代码里我会讲到。

Android 融云SDK-即时通讯IM(附源码)_第1张图片

下载 SDK

IMKit 集成了会话界面,并且提供了丰富的自定义功能,我们推荐首次接触融云的客户直接使用 IMKit 来快速集成和开发。 
IMLib 提供了基础的通信能力,较轻量,适用于对 UI 有较高订制需求的开发者,但您需要自己去实现大量的界面和功能。 

导入 SDK

以 Module 形式导入刚下载的 IMKit和IMLib。

打开您的工程, File -> New -> Import Module

Android 融云SDK-即时通讯IM(附源码)_第2张图片

打开您从官网下载的融云 SDK,选择 IMLib。如图:

Android 融云SDK-即时通讯IM(附源码)_第3张图片

添加配置

打开应用的 build.gradle,在 dependencies 中添加相应模块的依赖。如图:

Android 融云SDK-即时通讯IM(附源码)_第4张图片

注意:是打开 IMLib Module 的 AndroidManifest.xml 文件,把 meta-data RONG_CLOUD_APP_KEY 的值修改为您自己的 AppKey. 如图:

"RONG_CLOUD_APP_KEY"
    android:value="您的应用 AppKey" />

初始化

创建一个APP 类继承Application,然后在配置文件指定name属性。在 App 主进程初始化,您只需要实现一句函数实现初始化:

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        RongIM.init(this);
    }
}
    android:name=".App"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

获取 Token 方法

可以查看官网 获取 Token的方法。

连接服务器

/**
 * 

连接服务器,在整个应用程序全局,只需要调用一次,需在 {@link #init(Context)} 之后调用。

*

如果调用此接口遇到连接失败,SDK 会自动启动重连机制进行最多10次重连,分别是1, 2, 4, 8, 16, 32, 64, 128, 256, 512秒后。 * 在这之后如果仍没有连接成功,还会在当检测到设备网络状态变化时再次进行重连。

* * @param token 从服务端获取的用户身份令牌(Token)。 * @param callback 连接回调。 * @return RongIM 客户端核心类的实例。 */
private void connect(String token) { if (getApplicationInfo().packageName.equals(App.getCurProcessName(getApplicationContext()))) { RongIM.connect(token, new RongIMClient.ConnectCallback() { /** * Token 错误。可以从下面两点检查 1. Token 是否过期,如果过期您需要向 App Server 重新请求一个新的 Token * 2. token 对应的 appKey 和工程里设置的 appKey 是否一致 */ @Override public void onTokenIncorrect() { } /** * 连接融云成功 * @param userid 当前 token 对应的用户 id */ @Override public void onSuccess(String userid) { Log.d("LoginActivity", "--onSuccess" + userid); startActivity(new Intent(LoginActivity.this, MainActivity.class)); finish(); } /** * 连接融云失败 * @param errorCode 错误码,可到官网 查看错误码对应的注释 */ @Override public void onError(RongIMClient.ErrorCode errorCode) { } }); } }

配置会话列表

融云 IMKit SDK 使用了 Fragment 作为会话列表和会话界面的组件,其优点是支持各种嵌套方式,更符合您的定制化需求。 下面说明如何在 Activity 里以静态方式加载融云 Fragment.

配置布局文件

这是您的会话列表 Activity 对应的布局文件:conversationlist.xml。注意 android:name 固定为融云的 ConversationListFragment。




    


新建 Activity
public class ConversationListActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.conversationlist);
    }
  }
配置 intent-filter:

融云 SDK 是通过隐式调用的方式来实现界面跳转的。因此您需要在 AndroidManifest.xml 中,您的会话列表 Activity 下面配置 intent-filter,其中,android:host 是您应用的包名,需要手动修改,其他请保持不变。




    
        

        

        
    


源码demo: http://download.csdn.net/download/csdn_aiyang/9955969

  欢迎加入QQ群聊,一起探究学习流行技术,骚客们还等什么!

你可能感兴趣的:(Android)