Android:单人聊天(融云)
融云是即时通讯(IM),首先在官网上创建自己的应用,获取AppKey
再获取TOke,在API调试中就可找到
取得AppKey与Token后就可以开始我们的单人聊天了。
先看看效果图吧!
那咋们开始制作吧!
①在官网上下载SDK
②解压下来
每个包对应的内容
③ 导入.jar包,放到自己的libs下面(如我上图用到了地图和发送,所有我们只导入地图的,jar和发送的,jar包)
④添加依赖包:把解压的SDK中的IMLib和IMKit导入自己的工程,添加依赖。(先导入IMLib,再导入IMKit,因为IMKit寄予IMLib存在)。
⑤在IMLib中的AndroidManifest.xml中,把value改成自己的AppKey值
⑥接下来是代码:
- 初始化融云
public class App extends Application{
@Override
public void onCreate() {
super.onCreate();
RongIM.init(this);
}
}
2 MainActivity,注意修改自己的Token
package com.dabin.www.mi;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import io.rong.imkit.RongIM;
import io.rong.imlib.RongIMClient;
public class MainActivity extends AppCompatActivity {
String Token = "G/D3mu+HvTxfyyfMRdQD6t6MFbbKAxbV+QUhohtL8vlJq+GUr/0lyR60tf3FYRjbp61shUok8f0b/D8VjHcPg==";//test,我这个ToKen是错的,你需要改成自己的Token。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//建立与服务器的链接
RongIM.connect(Token, new RongIMClient.ConnectCallback() {
@Override
public void onTokenIncorrect() {
//Connect Token 失效的状态处理,需要重新获取 Token
}
@Override
public void onSuccess(String s) { //成功
}
@Override
public void onError(RongIMClient.ErrorCode errorCode) { //失败
}
});
/**
* 启动单聊
* context - 应用上下文。
* targetUserId - 要与之聊天的用户 Id。
* title - 聊天的标题,如果传入空值,则默认显示与之聊天的用户名称。
*/
if (RongIM.getInstance() != null) {
RongIM.getInstance().startPrivateChat(MainActivity.this, "wangjingjing", "");
}
}
}
3 新建一个ConversationActivity
public class ConversationActivity extends AppCompatActivity {
private static final String TAG = ConversationActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conversation);
getSupportActionBar().setTitle("聊天");
getSupportActionBar().setLogo(R.mipmap.ic_launcher);
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.mipmap.ic_launcher);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
finish();
return super.onOptionsItemSelected(item);
}
}
4 在自己的AndroidManifest.xml中配置一个ConversationActivity类(图下是代码)
<activity android:name=".ConversationActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="com.dabin.www.mi"
android:pathPrefix="/conversation/"
android:scheme="rong" />
</intent-filter>
</activity>
然后就完成了!