环信3.0添加聊天表情包
前言
最近公司项目集成环信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添加聊天表情包相关推荐
- iOS开发小记:初次接入环信SDK3.0时遇到的问题及解决办法汇总
因在开发公司项目有即时通讯模块,经商量之后选择了第三方即时通讯sdk环信,由于3.0文档还不是非常全面,且本人之前没有过开发即时通讯的经验,查阅了很多资料,磕磕绊绊几天终于完成了对该模块的开发,故此记 ...
- Android环信3.0即时通讯云入门指北
Android环信3.0即时通讯云入门指北 官方文档 http://docs-im.easemob.com/im/android/sdk/import 基础集成 http://docs-im.ease ...
- android 环信消息红点,环信3.0获取会话消息列表
环信2.0有一个获取消息列表的方法 /*! @method @brief 从数据库中加载消息 @discussion @result 加载的消息列表 */ - (NSArray *)loadAllMe ...
- 环信集成 2---基于环信Demo3.0,实现单聊功能
这几天在做环信,所以把环信相关的东西拿过来,做个系统点的东西 注意: 这里Demo集成的是带有实时语音功能的(libEaseMobClientSDK.a). 环信库是直接拖拽EaseMobSDK文件夹 ...
- 根据环信3.0集成的视频通话
本项目中我用到的第三方框架:evenbus,和ButterKnife ButterKnife: @BindView(R.id.tv_call_state)TextView callStateTextV ...
- 环信集成服务端封装类-聊天室
环信常用接口封装 <?php class Easemob {private $client_id = '';private $client_secret = "";priva ...
- python聊天表情包_如何通过Python用表情包自动回复微信拍一拍?
前不久微信上线了拍一拍功能,刚推出就被有才的网友玩坏了. 还有更多没有节操的拍法这里就不展示了. 但拍一拍属于弱提示,只有在聊天界面才能感受到.如果不在微信界面,被人拍了没办法及时回应,这里给大家介绍 ...
- Java聊天表情包emoji保存到Mysql数据库
一.系统要求,聊天系统聊天中使用 emoji 表情包,直接按字符串存到数据库中会报错.主要是编码问题,mysql的utf8最多三个字节,一个 emoji 表情点4个字节,所以出错,新版的mysql有新 ...
- 环信3.0自定义扩展消息
最近公司项目需要用到环信,早就听说过环信文档写的比较坑,继承过后才发现哪里是坑,简直是无底洞... 项目需求是这样的,菜单中有一个房源按钮,点击后弹出房源信息列表,点击列表中的Item将此条Item的 ...
最新文章
- Linux下实现多网卡绑定
- 【工具推荐】ELMAH——可插拔错误日志工具(转)
- TCP协议三次握手连接四次握手断开和DOS攻击
- JSESSIONID的简单说明
- js返回上一页并刷新
- Android App图片轮播效果的组件化
- Js中对id和class属性进行模糊查询
- python交换两个值原理_python交换两个变量的值方法
- Cisco NTP配置
- 国际版云购网站代码开发实现案例
- 实战篇3:一切皆对象,文件目录体系(节点树)
- 企业微信集成外部APP
- 20135337朱荟潼 Linux第二周学习总结——操作系统是如何工作的
- 学术研究入门,如何下载论文?
- oslo.messaging库
- web编程期中项目作业
- 关于宿舍熄灯问题的调研
- 找出数组中第k大和第m大的数字之和
- k8s部署nginx例子
- 当比你聪明的人还比你勤奋
热门文章
- busybox | 更改安装目录为/usr/local/bin
- 那些有趣/用的 Python 库 1
- php imagemagick pango,imagemagick pango安装
- 中小型城市商业银行数字化转型实践(四)业务中台建设思路和路径
- 2021年3季度手机银行活跃用户突破6.2亿,中小上市银行增长突出
- c语言和ege图形库编写的泡泡龙
- 瑞萨芯片程序移植到华大芯片,运行过程中出现HardFault
- 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版)...
- 一分钟了解 Flaky Test
- 咳咳,会用redis的帅哥拿到了上万,我这会用redis,还会配置redis的小鲜肉最低也待18k吧