使用拓展消息实现聊天界面和消息列表的头像和昵称的展示
上篇文章只是简单的介绍怎么集成环信,但是在自己的项目中涉及到聊天这一块。在做android开发的时候,往往要考虑到怎么展示用户昵称和头像的问题。说明一点:我们这个项目的用户头像和昵称是我们后台返回给我们的。我们只需要给用户设置拓展属性。
一、首先集成环信:
app如何引入一个module作为依赖:
-
在自己的该app工作空间下,导入easeui这个module。
-
在项目菜单的project structure中,app---dependencies--添加module依赖。
-
clean工程—rebuild工程。
首先要解决架包冲突问题。(v7冲突。)
解决方案:1.将app下的架包放到easeUI的gradle中。
2.实在不行,就查看所有gradle下面时候有重复的架包及依赖。
二、集成环信的聊天界面:
由于要使用到拓展消息,所以我们首先在工具类中定义一下我们自己和好友的属性。from表示我,to表示好友。
public static final String FROM_AVATER="from_avater";
public static final String FROM_NICHENG="from_nicheng";
public static final String TO_AVATER="to_avater";
public static final String TO_NICHENG="to_nicheng";
在easeui的widget包下的chatrow包的EaseChatRow这个类中,在消息的发送和接收处将其更改为拓展属性:
/**
* 聊天界面
* 聊天界面需要获取用户的头像和昵称
* 方法:采用扩展属性的方法。
* 定义 自己和他人的属性:from_avater from_nicheng自己的头像和昵称
* to_avater to_nicheng 对方的头像和昵称
* 自身头像昵称在进入应用的时候存到文件中,待聊天界面直接从文件中取出来。
* 对方头像从消息列表中获取
*/
//环信中的聊天页面
//set nickname and avatar
/**
* 聊天页面
*/
if (message.direct() == Direct.SEND) {
// EaseUserUtils.setUserAvatar(context, EMClient.getInstance().getCurrentUser(), userAvatarView);
try {
Glide.with(getContext()).load(message.getStringAttribute("from_avater")).into(userAvatarView);
// usernickView.setText(message.getStringAttribute("from_nicheng"));
EaseUserUtils.setUserNick(message.getStringAttribute("from_nicheng"), usernickView);
} catch (HyphenateException e) {
}
}
//
else {
// EaseUserUtils.setUserAvatar(context, message.getFrom(), userAvatarView);
// EaseUs