前言

最近公司项目集成环信sdk,记录一下集成过程中的各种问题。

如果说现在人与人之间最有效的沟通方式是什么,当然是表情包啊,一套不行就两套,两套不行就十套。本片博客就记录一下环信如何添加表情包。

正文

本次的内容并不算复杂,我是参照了环信Demo中添加兔斯基表情包的代码实现添加自己的表情包的。

1.首先在环信demo中找到EmojiconExampleGroupData这个类,copy一份修改为如下内容。

public class EmojiconMoGuTouGroupData {//表情包缩略图,Png图片private static int[] icons = new int[]{R.mipmap.mogutou00_cover, R.mipmap.mogutou01_cover, R.mipmap.mogutou02_cover, R.mipmap.mogutou03_cover, R.mipmap.mogutou04_cover,R.mipmap.mogutou05_cover, R.mipmap.mogutou06_cover, R.mipmap.mogutou07_cover, R.mipmap.mogutou08_cover, R.mipmap.mogutou09_cover,R.mipmap.mogutou10_cover, R.mipmap.mogutou11_cover, R.mipmap.mogutou12_cover, R.mipmap.mogutou13_cover, R.mipmap.mogutou14_cover,R.mipmap.mogutou15_cover, R.mipmap.mogutou16_cover, R.mipmap.mogutou17_cover, R.mipmap.mogutou18_cover, R.mipmap.mogutou19_cover,R.mipmap.mogutou20_cover, R.mipmap.mogutou21_cover, R.mipmap.mogutou22_cover, R.mipmap.mogutou23_cover, R.mipmap.mogutou24_cover,R.mipmap.mogutou25_cover, R.mipmap.mogutou26_cover, R.mipmap.mogutou27_cover, R.mipmap.mogutou28_cover, R.mipmap.mogutou29_cover,R.mipmap.mogutou30_cover, R.mipmap.mogutou31_cover,};//表情包大图,Gif图private static int[] bigIcons = new int[]{R.mipmap.mogutou00, R.mipmap.mogutou01, R.mipmap.mogutou02, R.mipmap.mogutou03, R.mipmap.mogutou04, R.mipmap.mogutou05, R.mipmap.mogutou06, R.mipmap.mogutou07,R.mipmap.mogutou08, R.mipmap.mogutou09, R.mipmap.mogutou10, R.mipmap.mogutou11, R.mipmap.mogutou12, R.mipmap.mogutou13, R.mipmap.mogutou14, R.mipmap.mogutou15,R.mipmap.mogutou16, R.mipmap.mogutou17, R.mipmap.mogutou18, R.mipmap.mogutou19, R.mipmap.mogutou20, R.mipmap.mogutou21, R.mipmap.mogutou22, R.mipmap.mogutou23,R.mipmap.mogutou24, R.mipmap.mogutou25, R.mipmap.mogutou26, R.mipmap.mogutou27, R.mipmap.mogutou28, R.mipmap.mogutou29, R.mipmap.mogutou30, R.mipmap.mogutou31,};//表情包中表情的描述private static String[] icons_name = new String[]{"大哭", "害怕", "期待", "涂红唇", "无聊", "绝望", "么么哒", "一起摇摆","生气", "开心", "惊讶", "冷淡", "爱心", "揉脸", "不要", "爱你","yes", "疑问", "抛媚眼", "加油", "点赞", "哈哈大笑", "搞笑", "嘚瑟","兴奋", "尬舞", "庆祝", "气的跺脚", "我不要", "自拍", "蹦床", "嗨",};private static final EaseEmojiconGroupEntity DATA = createData();//生成表情包实体对象private static EaseEmojiconGroupEntity createData() {EaseEmojiconGroupEntity emojiconGroupEntity = new EaseEmojiconGroupEntity();EaseEmojicon[] datas = new EaseEmojicon[icons.length];for (int i = 0; i < icons.length; i++) {datas[i] = new EaseEmojicon(icons[i], null, Type.BIG_EXPRESSION);datas[i].setBigIcon(bigIcons[i]);//you can replace this to any you wantdatas[i].setName(icons_name[i]);datas[i].setIdentityCode("mogutou" + (1000 + i + 1));}emojiconGroupEntity.setEmojiconList(Arrays.asList(datas));emojiconGroupEntity.setIcon(R.mipmap.mogutou13_cover);emojiconGroupEntity.setType(Type.BIG_EXPRESSION);return emojiconGroupEntity;}//获得表情包实体对象public static EaseEmojiconGroupEntity getData() {return DATA;}
}

说明一下Type.BIG_EXPRESSION,表示是大表情类型,还有一个Type.NORMAL类型,这个是不能发送大表情的,发出来的是创建对象时设定的文字,表情包这里暂不推荐使用这个类型。

datas[i] = new EaseEmojicon(icons[i], 文字, Type.NORMAL);

2、去ChatFragment中添加表情实体对象

在setUpView()中添加代码

((EaseEmojiconMenu) inputMenu.getEmojiconMenu()).addEmojiconGroup(EmojiconMoGuTouGroupData.getData());

3.设置EaseUI的setEmojiconInfoProvider(new EaseUI.EaseEmojiconInfoProvider()

 private EaseUI easeUI= EaseUI.getInstance();
 //set emoji icon providereaseUI.setEmojiconInfoProvider(new EaseUI.EaseEmojiconInfoProvider() {@Overridepublic EaseEmojicon getEmojiconInfo(String emojiconIdentityCode) {//兔斯基表情EaseEmojiconGroupEntity data = EmojiconExampleGroupData.getData();for (EaseEmojicon emojicon : data.getEmojiconList()) {if (emojicon.getIdentityCode().equals(emojiconIdentityCode)) {return emojicon;}}//蘑菇头表情EaseEmojiconGroupEntity data_panda = EmojiconMoGuTouGroupData.getData();for (EaseEmojicon easeEmojicon : data_panda.getEmojiconList()) {if (easeEmojicon.getIdentityCode().equals(emojiconIdentityCode)){return easeEmojicon;}}return null;}@Overridepublic Map<String, Object> getTextEmojiconMapping() {return null;}});

上面EaseUI的相关代码我是模仿环信demo的DemoHelper放在自己项目的Helper中实现的。

到此自己的表情包就添加成功了,是不是很简单呢~

环信3.0添加聊天表情包相关推荐

  1. iOS开发小记:初次接入环信SDK3.0时遇到的问题及解决办法汇总

    因在开发公司项目有即时通讯模块,经商量之后选择了第三方即时通讯sdk环信,由于3.0文档还不是非常全面,且本人之前没有过开发即时通讯的经验,查阅了很多资料,磕磕绊绊几天终于完成了对该模块的开发,故此记 ...

  2. Android环信3.0即时通讯云入门指北

    Android环信3.0即时通讯云入门指北 官方文档 http://docs-im.easemob.com/im/android/sdk/import 基础集成 http://docs-im.ease ...

  3. android 环信消息红点,环信3.0获取会话消息列表

    环信2.0有一个获取消息列表的方法 /*! @method @brief 从数据库中加载消息 @discussion @result 加载的消息列表 */ - (NSArray *)loadAllMe ...

  4. 环信集成 2---基于环信Demo3.0,实现单聊功能

    这几天在做环信,所以把环信相关的东西拿过来,做个系统点的东西 注意: 这里Demo集成的是带有实时语音功能的(libEaseMobClientSDK.a). 环信库是直接拖拽EaseMobSDK文件夹 ...

  5. 根据环信3.0集成的视频通话

    本项目中我用到的第三方框架:evenbus,和ButterKnife ButterKnife: @BindView(R.id.tv_call_state)TextView callStateTextV ...

  6. 环信集成服务端封装类-聊天室

    环信常用接口封装 <?php class Easemob {private $client_id = '';private $client_secret = "";priva ...

  7. python聊天表情包_如何通过Python用表情包自动回复微信拍一拍?

    前不久微信上线了拍一拍功能,刚推出就被有才的网友玩坏了. 还有更多没有节操的拍法这里就不展示了. 但拍一拍属于弱提示,只有在聊天界面才能感受到.如果不在微信界面,被人拍了没办法及时回应,这里给大家介绍 ...

  8. Java聊天表情包emoji保存到Mysql数据库

    一.系统要求,聊天系统聊天中使用 emoji 表情包,直接按字符串存到数据库中会报错.主要是编码问题,mysql的utf8最多三个字节,一个 emoji 表情点4个字节,所以出错,新版的mysql有新 ...

  9. 环信3.0自定义扩展消息

    最近公司项目需要用到环信,早就听说过环信文档写的比较坑,继承过后才发现哪里是坑,简直是无底洞... 项目需求是这样的,菜单中有一个房源按钮,点击后弹出房源信息列表,点击列表中的Item将此条Item的 ...

最新文章

  1. Linux下实现多网卡绑定
  2. 【工具推荐】ELMAH——可插拔错误日志工具(转)
  3. TCP协议三次握手连接四次握手断开和DOS攻击
  4. JSESSIONID的简单说明
  5. js返回上一页并刷新
  6. Android App图片轮播效果的组件化
  7. Js中对id和class属性进行模糊查询
  8. python交换两个值原理_python交换两个变量的值方法
  9. Cisco NTP配置
  10. 国际版云购网站代码开发实现案例
  11. 实战篇3:一切皆对象,文件目录体系(节点树)
  12. 企业微信集成外部APP
  13. 20135337朱荟潼 Linux第二周学习总结——操作系统是如何工作的
  14. 学术研究入门,如何下载论文?
  15. oslo.messaging库
  16. web编程期中项目作业
  17. 关于宿舍熄灯问题的调研
  18. 找出数组中第k大和第m大的数字之和
  19. k8s部署nginx例子
  20. 当比你聪明的人还比你勤奋

热门文章

  1. busybox | 更改安装目录为/usr/local/bin
  2. 那些有趣/用的 Python 库 1
  3. php imagemagick pango,imagemagick pango安装
  4. 中小型城市商业银行数字化转型实践(四)业务中台建设思路和路径
  5. 2021年3季度手机银行活跃用户突破6.2亿,中小上市银行增长突出
  6. c语言和ege图形库编写的泡泡龙
  7. 瑞萨芯片程序移植到华大芯片,运行过程中出现HardFault
  8. 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版)...
  9. 一分钟了解 Flaky Test
  10. 咳咳,会用redis的帅哥拿到了上万,我这会用redis,还会配置redis的小鲜肉最低也待18k吧