上一篇我们把环境给配置了一下,这一篇就总结下融云的使用,本工程融云是在Fragment上静态集成的,如果想看下其他动态集成或者Activity集成请参考官网:http://www.rongcloud.cn/docs/android.html
记得在MyApplication中注册一下,并在清单文件中声明一下你的MyApplication;
public class MyApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
RongIM.init(this); //注册一下
}
}
服务端获取融云token,依赖大家可以在这里下载
有两个jar包,和一堆文件,如何获取token呢?代码如下:
public class TookenDaoImp {
public String getToken(String phone, String pass) {
String key = "n19jmcy5996g9"; //融云的App Key
String secret = "eAHCCbDtzXdfN"; //融云的App Secret
User user=null;
SdkHttpResult result = null;
// 获取token
try {
result = ApiHttpClient.getToken(key, secret, phone, pass,
FormatType.json);
Gson gson=new Gson();
user=gson.fromJson(result.getResult(), User.class);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return user.getUser_token();
}
}
通过注册时,注册密码和手机号(或者用户主键ID),为了方便就直接用手机号了。
case "mima":
String sphone2 = new String(request.getParameter("phone").getBytes("ISO-8859-1"), "UTF-8");
String password2 = new String(request.getParameter("password").getBytes("ISO-8859-1"), "UTF-8");
//通过手机号、密码 获取token
TookenDaoImp tookenDaoImp=new TookenDaoImp();
String tooken=tookenDaoImp.getToken(sphone2, password2);
AdoptDaoImp adoptDaoImp9 = new AdoptDaoImp();
//写入数据库(方法就不写了)
p1 = adoptDaoImp9.getAdopt9(sphone2, password2,tooken);
主Activity中就要获取连接融云服务器
//注册登录后,请求数据库,可以拿到当前登录用户对象(一定要把token也拿到,对象可以放在MyApplication里面,连接服务最好放在登录的Activity中,不要放在主Activity当中,后果可能会连不上融云服务器)
String token=((MyApplication)getApplication()).getUser().getUser_token();
//连接融云服务器
RongIM.connect(token, new RongIMClient.ConnectCallback() {
@Override
public void onTokenIncorrect() {
}
@Override
public void onSuccess(String s) {
Log.e("success", "success" + s);
}
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
Log.e("success", "success" + errorCode.getValue());
}
});
接着就是自定义的消息列表:
package com.example.administrator.myapplication14.Fragment;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.administrator.myapplication14.R;
import io.rong.imkit.fragment.ConversationListFragment;
import io.rong.imlib.model.Conversation;
/**
* @author BULUSILI
* @描述 消息--私信
* @项目名称 宠物圈
* @包名 com.example.