Android简单集成融云单人聊天
- 去融云官网注册账号开发者账号,创建应用,注意appkey
- 下载融云的sdk分为两种
http://www.rongcloud.cn/
A. IM 界面组件 - IMKit
IMKit 是融云 SDK 的核心特色之一。融云将即时通讯产品中最复杂的会话列表、聊天窗口、消息内容展现、会话设置等功能封装为组件,通过简短的代码,您就可以直接将以上界面集成到您的 App 产品中,省去大量的开发调试时间。融云同时支持业内最丰富的自定义界面组件功能,您可以针对自己界面需求自由设计开发。
B.IM 通讯能力库 - IMLib
IMLib 是不含界面的基础 IM 通讯能力库,封装了通信能力和会话、消息等对象。引用到 App 工程中后,需要开发者自己实现 UI 界面,相对较轻量,适用于对 UI 有较高订制需求的开发者。
根据项目需求选择一个就可以了,简单说就是对UI方面没有太多要求的就选择IMKit,如果需要自定义自定义聊天界面自定义风格就用IMLib。我的项目只需要集成聊天所以我用IMKIT.
- 下载IMKit的
- 解压,创建AS的android项目,导入Module
- Module我们改下名字IMKit方便填写。
导入后的项目结构。
- 关联Module 找到app的gradle加上 compile project(‘:IMKit’)
- 找的IMKit的Module下面的Manifest文件,将host标签的*修改为当前关联的App Module的包名.
<activity
android:name="io.rong.imkit.tools.RongWebviewActivity"
android:screenOrientation="portrait">
<!-- WebView IntentFilter Start -->
<intent-filter>
<action android:name="io.rong.imkit.intent.action.webview" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<!-- android:host="com.jbwl.leanandroid.rongchat" 你的包名-->
<data
android:host="*"
android:scheme="http" />
<data
android:host="*"
android:scheme="https" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<!-- WebView IntentFilter End -->
</activity>
- 修改IMKit的Module下面的Manifest文件的meta-data标签,将RONG_CLOUD_APP_KEY对应value修改成你的融云创建程序的key。
<meta-data
android:name="RONG_CLOUD_APP_KEY"
android:value="n19jmcy59f1q9" />
<!--android:value="融云app的key"-->
- 在app Module中建一个类,继承自Application,实现onCreate方法,在Oncreate中初始化融云,并配置manifest文件中的Application节点的name为我们创的App类。
- -
App.java
package com.jbwl.leanandroid.rongchat;
import android.app.Application;
import io.rong.imkit.RongIM;
/**
* Created by chenbin on 2016/9/24.
*/
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
/**
* 初始化融云
* 在整个应用程序全局,您只需要调用一次 init 方法
*/
RongIM.init(this);
}
}
App的Manifest文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jbwl.leanandroid.rongchat">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:name=".App"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>