日报

7月9日

    今天做了一些IM功能
       
        首先 从登陆注册重新开始敲得;

一、利用EaseUI 集成与官方得简单UI 界面 以及部分逻辑

1.首先在集成与EaseUI/Uklit
我们得登陆注册都会使用线程来调用,那我们就可以写一个线程池 去随时得回调利用。

接下来我们看线程池得代码:
     
     public class Model  {


private Context mcontext;
private static Model instance = new Model();

private ExecutorService executorService = Executors.newCachedThreadPool();

public void init(Context context){
    mcontext = context;
}

public ExecutorService getExecutorService(){
    return executorService;
}

public static Model getInstance(){
    return instance;
}

public ExecutorService getPoll(){
    return  executorService;
}
}

写好我们得线程池 就可以开始我们得部分功能了:
1.登陆
2.注册
3.通讯录
4.会话列表
5.通讯录
6.单聊
7.群聊
8.添加好友

首先从登陆开始:

Model.getInstance().getPoll().execute(new Runnable() {
@Override
public void run() {
    EMClient.getInstance().logout(true);
    EMClient.getInstance().login(Edusername,mima,new EMCallBack() {//回调
        @Override
        public void onSuccess() {
          Intent integer = new Intent(DengluActivity.this, MainActivity.class);
            startActivity(integer);
        }

        @Override
        public void onProgress(int progress, String status) {

        }

        @Override
        public void onError(int code, final String message) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Log.d("main", "登录聊天服务器失败!"+message);
                }
            });
        }
    });;
}
});

直接利用我们得线程池去new Runnable 里去实现文档中给的登陆方法 完成登陆效果;
在里面得监听我们可以得到登陆失败 登陆成功得监听方法,如果我们登陆失败得情况下可以去吐司提示一下
或者是登陆成功得情况下 我们可以直接跳转到 主页面 也就是通讯录与会话列表

2.注册:
例:

  Model.getInstance().getPoll().execute(new Runnable() {
@Override
public void run() {
    try {
        EMClient.getInstance().createAccount(Edusername,mima);//同步方法
    } catch (HyphenateException e) {
        e.printStackTrace();
    }
}
});

文档中注册方法只需要去调用他的EmClient.getInstance().createAccount(注册的用户名,注册的密码);
之后会跳转到的通讯录界面,因为是一些Fragment 我们可以去放在一个Viewpager或者FrameLayout
去显示其中的通讯录界面/会话列表

3.通讯录
可以直接去继承 EaseContactListFragment 来显示当前的通讯录界面

首先需要我们自己手动的去获取好友列表
    
    new Thread(new Runnable() {
@Override
public void run() {
    try {
        List<String> username = EMClient.getInstance().contactManager().getAllContactsFromServer();
        final Map<String,EaseUser> map = new HashMap<>();
        for (String str: username) {
             map.put(str,new EaseUser(str));
        }

        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                setContactsMap(map);
                refresh();
            }
        });
    } catch (HyphenateException e) {
        e.printStackTrace();
    }
}

}).start();

完成通讯录的界面

我们要是需要实现单聊群聊的界面 是需要点击当前的Item 去实现聊天界面
  setContactListItemClickListener(new EaseContactListItemClickListener() {
@Override
public void onListItemClicked(EaseUser user) {
    if (user == null){
        return;
    }
    Intent intent = new Intent(getActivity(),liaotianActivity.class);
    intent.putExtra(EaseConstant.EXTRA_USER_ID,user.getUsername());
    startActivity(intent);

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值