聊天记录

聊天记录

2
回复

【环信官方外包一个项目】利用环信IM实现一个在线白板 环信

KevinGong 回复了问题 • 3 人关注 • 789 次浏览 • 2017-09-25 17:48 • 来自相关话题

0
评论

【开源项目】一个基于环信IM开发的开源的私密社交APP-Baby 即时通信 Baby

seven。 发表了文章 • 908 次浏览 • 2017-08-31 14:49 • 来自相关话题

Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。先上效果图




开屏页的登录和注册




编辑个人信息




相册页面




首页的Moment
版本更新:
 
version 1.6
加入Tinker 热修复更新部分依赖修复大量细节问题,加入部分注释

version 1.5
bug fixupdate sth

version 1.4
增加长按删除功能优化Rxbus订阅加载数据外国友人优化的一些细节等等

version 1.3
增加了评论功能优化了相册加载修复了一些内存泄漏等等

version 1.2
修复了一些Bug把登陆注册事件换了个Zip操作符更符合流的思想

version 1.1
修复了主页背景无法切换的问题修复了聊天推送的问题修了语音视频的问题做了一些细节修改
Download



安装包下载体验
 
github地址
github源码
 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。Thanks for improving my code m-ezzat.

Contacts
Email:379489343zhi@gmail.comQQ:379489343
 Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. 查看全部
   Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。
先上效果图

003.png

开屏页的登录和注册


001.png

编辑个人信息


002.png

相册页面


004.png

首页的Moment


版本更新:
 
version 1.6
  1. 加入Tinker 热修复
  2. 更新部分依赖
  3. 修复大量细节问题,加入部分注释


version 1.5
  1. bug fix
  2. update sth


version 1.4
  1. 增加长按删除功能
  2. 优化Rxbus订阅加载数据
  3. 外国友人优化的一些细节
  4. 等等


version 1.3
  1. 增加了评论功能
  2. 优化了相册加载
  3. 修复了一些内存泄漏
  4. 等等


version 1.2
  1. 修复了一些Bug
  2. 把登陆注册事件换了个Zip操作符更符合流的思想


version 1.1
  1. 修复了主页背景无法切换的问题
  2. 修复了聊天推送的问题
  3. 修了语音视频的问题
  4. 做了一些细节修改

Download

 
github地址

 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
  • 感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。
  • Thanks for improving my code m-ezzat.


Contacts

 
Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
6
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 6146 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
0
回复

聊天记录下载接口很不好用 聊天记录

回复

mengxiangfei 发起了问题 • 1 人关注 • 149 次浏览 • 2017-09-04 15:35 • 来自相关话题

1
回复

新的下载聊天记录的demo什么时候会有 聊天记录 导出聊天记录

木云落 回复了问题 • 2 人关注 • 218 次浏览 • 2017-06-22 10:19 • 来自相关话题

1
回复

环信3.3.1 App kill掉再启动聊天记录就消失了为什么 聊天记录

donghai 回复了问题 • 2 人关注 • 243 次浏览 • 2017-04-24 21:14 • 来自相关话题

1
回复

环信服务器聊天记录保存多久? 聊天记录 存储时间

zhoumin 回复了问题 • 2 人关注 • 787 次浏览 • 2017-04-20 12:13 • 来自相关话题

2
回复

后台是java怎么获取聊天记录啊 聊天记录

环信沈冲 回复了问题 • 2 人关注 • 372 次浏览 • 2017-03-21 16:22 • 来自相关话题

1
回复

实时保存聊天记录的思路 聊天记录

Wxin 回复了问题 • 2 人关注 • 375 次浏览 • 2017-03-06 20:06 • 来自相关话题

1
回复

您好,请问环信的聊天记录同步的接口监控什么时候可以正常 聊天记录导出 聊天记录 环信_RestAPI 环信_Android

donghai 回复了问题 • 2 人关注 • 340 次浏览 • 2017-02-04 22:39 • 来自相关话题

1
回复

iOS端如何获取与好友的聊天记录 聊天记录

donghai 回复了问题 • 2 人关注 • 421 次浏览 • 2016-11-22 17:12 • 来自相关话题

1
回复

聊天记录相关 聊天记录

Wxin 回复了问题 • 3 人关注 • 545 次浏览 • 2016-07-29 12:10 • 来自相关话题

2
评论

android开发查找聊天记录功能 聊天记录

A person′ 发表了文章 • 1273 次浏览 • 2016-06-03 09:26 • 来自相关话题

由于环信本生没有开放出查找聊天记录的接口,但是需求要实现该功能,只能用其他方式实习。
 
实现聊天功能需要用到EventBus
 
EventBus的作用的是回来传值,因为本生的Intent传值,接受不了太多的数据。
 
1.当在聊天页面的时候,去2级页面,获取当前聊天的总数。

2.开启一个异步线程,new EMConversation 类,然后清空

3.在拿聊天页面的当前会话类mConversation .loadMoreMsgFromDB("", 5000) 一次拉取5000条数据出来,
通过EventBug 发送出去(发送EventBug的时候不能用post,而且是用postSticky),通过bug应该知道,不知道的百度下。

4.clear  new 出的新会话类

5.在用当前聊天页面的会话类mConversation.loadMoreMsgFromDB("", mMsgCount); 获取本生显示的消息数据
然后在
mConversation.getAllMessages()
这样做的目的,主要是避免内存中出现重复的数据。
 
数据已经筛选出来了,现在开始模糊查询,跳到2级页面的时候,此时因为有EventBus收到的聊天消息,通过关键字段,来模糊出当前消息,附件有配图,匹配出来后,显示聊天的适配器中,附件有配图,后面下啦的,也会拉出最新的数据附件有配图 ,模糊查询和下拉更多,就是相关逻辑了,不多说直接贴代码。
 
1.通过关键字获取当前聊天记录的数据EMMessage m = mSearchData.get(position);
String msgId = m.getMsgId(); mIndex = 0;
/** * 获取当前所有数据的索引 */
mTempDatas.clear(); mTempDatas.addAll(mDatas);

for (int i = 0; i < mTempDatas.size(); i++) {
if (msgId.equals(mTempDatas.get(i).getMsgId())) {
mIndex = i;
break;
}
}

/** * 获取匹配到的数据并且获得最新的10条数据 */

for (int j = mIndex; j < mTempDatas.size(); j++) {
if (j == 10) {
break;
}
messages.add(mTempDatas.get(j));
}

mTempDatas.removeAll(messages);
Collections.reverse(mTempDatas);
mChatAdapter.notifyDataSetChanged();
vList_emm.setVisibility(View.GONE);
vHint.setVisibility(View.GONE);
findViewById(R.id.rela_edit).setVisibility(View.GONE); findViewById(R.id.btn_view).setVisibility(View.GONE);
listView.setSelection(0);
 
2.下拉更多if (mTempDatas.size() == 0) {
IShowToast("已经加载完成");
}else
{

List<EMMessage> temps = new ArrayList<EMMessage>();
temps.addAll(messages);
messages.clear()
for (int i = 0; i < mTempDatas.size(); i++) {
messages.add(mTempDatas.get(i));
if (i == 10) {
break;
}
}

int index = 0;
index = messages.size();
Collections.reverse(messages);
mTempDatas.removeAll(messages);
messages.addAll(temps);
mChatAdapter.notifyDataSetChanged();
listView.setSelection(index);

}
 
 
大致这些了,这个代码排版好麻烦。。。为了方便看,只能一排排的粘贴
 
后期有空,会在教大家如何优化聊天适配器,如何快速扩展,使代码更加清晰。
 
 
  查看全部
由于环信本生没有开放出查找聊天记录的接口,但是需求要实现该功能,只能用其他方式实习。
 
实现聊天功能需要用到EventBus
 
EventBus的作用的是回来传值,因为本生的Intent传值,接受不了太多的数据。
 
1.当在聊天页面的时候,去2级页面,获取当前聊天的总数。

2.开启一个异步线程,new EMConversation 类,然后清空

3.在拿聊天页面的当前会话类mConversation .loadMoreMsgFromDB("", 5000) 一次拉取5000条数据出来
通过EventBug 发送出去(发送EventBug的时候不能用post,而且是用postSticky),通过bug应该知道,不知道的百度下。

4.clear  new 出的新会话类

5.在用当前聊天页面的会话类mConversation.loadMoreMsgFromDB("", mMsgCount); 获取本生显示的消息数据
然后在
mConversation.getAllMessages()
这样做的目的,主要是避免内存中出现重复的数据。
 
数据已经筛选出来了,现在开始模糊查询,跳到2级页面的时候,此时因为有EventBus收到的聊天消息,通过关键字段,来模糊出当前消息,附件有配图,匹配出来后,显示聊天的适配器中,附件有配图,后面下啦的,也会拉出最新的数据附件有配图 ,模糊查询和下拉更多,就是相关逻辑了,不多说直接贴代码。
 
1.通过关键字获取当前聊天记录的数据
EMMessage m = mSearchData.get(position); 
String msgId = m.getMsgId(); mIndex = 0;
/** * 获取当前所有数据的索引 */
mTempDatas.clear(); mTempDatas.addAll(mDatas);

for (int i = 0; i < mTempDatas.size(); i++) {
if (msgId.equals(mTempDatas.get(i).getMsgId())) {
mIndex = i;
break;
}
}

/** * 获取匹配到的数据并且获得最新的10条数据 */

for (int j = mIndex; j < mTempDatas.size(); j++) {
if (j == 10) {
break;
}
messages.add(mTempDatas.get(j));
}

mTempDatas.removeAll(messages);
Collections.reverse(mTempDatas);
mChatAdapter.notifyDataSetChanged();
vList_emm.setVisibility(View.GONE);
vHint.setVisibility(View.GONE);
findViewById(R.id.rela_edit).setVisibility(View.GONE); findViewById(R.id.btn_view).setVisibility(View.GONE);
listView.setSelection(0);

 
2.下拉更多
if (mTempDatas.size() == 0) {
IShowToast("已经加载完成");
}else
{

List<EMMessage> temps = new ArrayList<EMMessage>();
temps.addAll(messages);
messages.clear()
for (int i = 0; i < mTempDatas.size(); i++) {
messages.add(mTempDatas.get(i));
if (i == 10) {
break;
}
}

int index = 0;
index = messages.size();
Collections.reverse(messages);
mTempDatas.removeAll(messages);
messages.addAll(temps);
mChatAdapter.notifyDataSetChanged();
listView.setSelection(index);

}

 
 
大致这些了,这个代码排版好麻烦。。。为了方便看,只能一排排的粘贴
 
后期有空,会在教大家如何优化聊天适配器,如何快速扩展,使代码更加清晰。
 
 
 
10
回复

我用rest 接口 返回的聊天记录始终是10条 每次都 一样 能给看一下不 有JAVA获取聊天记录的代码吗 聊天记录

天上人家 回复了问题 • 4 人关注 • 1804 次浏览 • 2016-05-23 13:51 • 来自相关话题

1
回复

iOS的自己获取聊天室聊天记录该怎么做? iOS 聊天记录

zhangyb 回复了问题 • 2 人关注 • 1154 次浏览 • 2016-04-11 17:37 • 来自相关话题

1
评论

为什么app kill掉再启动所有聊天记录都取不到。 聊天记录 收不到推送 消息记录

dujiepeng 发表了文章 • 1629 次浏览 • 2016-03-21 12:20 • 来自相关话题

您需要app启动时加载一下会话相关的db:/*!
@method
@brief 获取当前登录用户的会话列表
@param append2Chat 是否加到内存中。
YES为加到内存中。加到内存中之后, 会有相应的回调被触发从而更新UI;
NO为不加到内存中。如果不加到内存中, 则只会直接添加进DB, 不会有SDK的回调函数被触发从而去更新UI。
@result 会话对象列表
*/
- (NSArray *)loadAllConversationsFromDatabaseWithAppend2Chat:(BOOL)append2Chat;

[[EaseMob sharedInstance].chatManager loadAllConversationsFromDatabaseWithAppend2Chat:NO]; 查看全部
您需要app启动时加载一下会话相关的db:
/*!
@method
@brief 获取当前登录用户的会话列表
@param append2Chat 是否加到内存中。
YES为加到内存中。加到内存中之后, 会有相应的回调被触发从而更新UI;
NO为不加到内存中。如果不加到内存中, 则只会直接添加进DB, 不会有SDK的回调函数被触发从而去更新UI。
@result 会话对象列表
*/
- (NSArray *)loadAllConversationsFromDatabaseWithAppend2Chat:(BOOL)append2Chat;

[[EaseMob sharedInstance].chatManager loadAllConversationsFromDatabaseWithAppend2Chat:NO];
0
评论

我们聊天记录要同步,环信是否保存聊天记录呢? 聊天记录 导出聊天记录 环信_Android

环信专业服务 发表了文章 • 3988 次浏览 • 2016-01-27 00:00 • 来自相关话题

环信服务器会保存聊天记录3天的,开发者需要通过rest api定期获取历史消息到app服务器,每次获取聊天记录从app服务器获取。
环信服务器会保存聊天记录3天的,开发者需要通过rest api定期获取历史消息到app服务器,每次获取聊天记录从app服务器获取。
1
回复

[请教]【聊天记录爬取的问题】 聊天记录导出 聊天记录

lizg 回复了问题 • 2 人关注 • 1474 次浏览 • 2016-01-11 11:29 • 来自相关话题

0
评论

能获取环信服务器上的聊天记录吗? 聊天记录 环信_RestAPI

环信专业服务 发表了文章 • 3624 次浏览 • 2015-09-17 16:22 • 来自相关话题

可以,环信提供一个聊天记录导出接口(需要在服务端调用),可以参考地址:http://docs.easemob.com/doku.p ... og%23导出聊天记录
可以,环信提供一个聊天记录导出接口(需要在服务端调用),可以参考地址:http://docs.easemob.com/doku.p ... og%23导出聊天记录
0
评论

IOS删除所有聊天记录的方法是哪个? 聊天记录 iOS 删除 环信_iOS

环信专业服务 发表了文章 • 1430 次浏览 • 2015-09-14 18:43 • 来自相关话题

/*!
 @method
 @brief 删除所有会话对象
 @discussion
 @param aDeleteMessages 是否删除这个会话对象所关联的聊天记录
 @param append2Chat     是否加到内存中。
        YES为加到内存中。加到内存中之后, 会有相应的回调被触发从而更新UI;
        NO为不加到内存中。如果不加到内存中, 则只会直接添加进DB, 不会有SDK的回调函数被触发从而去更新UI。
 @result 是否成功执行
 */
- (BOOL)removeAllConversationsWithDeleteMessages:(BOOL)aDeleteMessages
                                     append2Chat:(BOOL)append2Chat。 查看全部
/*!
 @method
 @brief 删除所有会话对象
 @discussion
 @param aDeleteMessages 是否删除这个会话对象所关联的聊天记录
 @param append2Chat     是否加到内存中。
        YES为加到内存中。加到内存中之后, 会有相应的回调被触发从而更新UI;
        NO为不加到内存中。如果不加到内存中, 则只会直接添加进DB, 不会有SDK的回调函数被触发从而去更新UI。
 @result 是否成功执行
 */
- (BOOL)removeAllConversationsWithDeleteMessages:(BOOL)aDeleteMessages
                                     append2Chat:(BOOL)append2Chat。
1
评论

聊天记录想按条件查询,可以吗? 聊天记录 导出聊天记录 环信_RestAPI

环信专业服务 发表了文章 • 1282 次浏览 • 2015-09-13 18:57 • 来自相关话题

这个不能支持的。聊天记录导出接口只是用来导出用的,导出后自己的服务器再进行过滤。
这个不能支持的。聊天记录导出接口只是用来导出用的,导出后自己的服务器再进行过滤。
0
评论

客户端支持拉取历史聊天记录吗? 导出聊天记录 聊天记录 环信_SDK公共

环信专业服务 发表了文章 • 1692 次浏览 • 2015-09-09 21:24 • 来自相关话题

目前还不支持,需要由您服务器调用rest接口从环信服务器导出聊天记录,客户端从您服务器获取聊天记录并插入到客户端数据库中。
目前还不支持,需要由您服务器调用rest接口从环信服务器导出聊天记录,客户端从您服务器获取聊天记录并插入到客户端数据库中。
0
评论

客服系统那么大的咨询量,服务器存储聊天内容的策略是什么? 这个导出来的是一Excel表格,还需要自己去查询? 客服系统聊天记录储存空间是多少? 聊天记录 导出聊天记录 环信移动客服

环信专业服务 发表了文章 • 2066 次浏览 • 2015-09-07 04:20 • 来自相关话题

客服系统是多租户平台,服务器端的聊天消息是按照每个租户(Tenant),与某个访客的聊天记录,存放在一个消息(有序桶)里,并且可以按Tenant、访客、会话、时间段、序列号查询取出。目前没有储存空间的限制。
客服系统是多租户平台,服务器端的聊天消息是按照每个租户(Tenant),与某个访客的聊天记录,存放在一个消息(有序桶)里,并且可以按Tenant、访客、会话、时间段、序列号查询取出。目前没有储存空间的限制。
0
评论

如果一个群主解散了一个群,这个群在本地的聊天记录还有吗? 聊天记录 环信_Android

环信专业服务 发表了文章 • 4091 次浏览 • 2015-09-04 00:49 • 来自相关话题

解散群组和退出群组都默认会删除本地会话和聊天记录,可以调用EMChatOptions的方法进行设置不删除setDeleteMessagesAsExitGrouppublic void setDeleteMessagesAsExitGroup(boolean delete)
设置退出(主动和被动退出)群组时是否删除聊天消息 enable/disable deleting the group message after existing the group参数:
delete - true为删除群组相关消息,默认为true 查看全部
解散群组和退出群组都默认会删除本地会话和聊天记录,可以调用EMChatOptions的方法进行设置不删除setDeleteMessagesAsExitGrouppublic void setDeleteMessagesAsExitGroup(boolean delete)
设置退出(主动和被动退出)群组时是否删除聊天消息 enable/disable deleting the group message after existing the group参数:
delete - true为删除群组相关消息,默认为true
0
评论

用环信平台是否会泄露用户数据吗?环信必须要保留用户的什么数据,是用户名、密码和聊天记录吗? 聊天记录 导出聊天记录 环信_管理后台

环信专业服务 发表了文章 • 2394 次浏览 • 2015-09-02 22:22 • 来自相关话题

环信不会去接触任何开发者APP的业务数据和用户体系。具体来说,环信只有app的两个数据:
1 . 环信ID。要使用环信,需要为每一个需分配一个环信ID。
2 . 环信ID对应的密码。用户登陆对应ID时需要验证的密码。
环信不会去接触任何开发者APP的业务数据和用户体系。具体来说,环信只有app的两个数据:
1 . 环信ID。要使用环信,需要为每一个需分配一个环信ID。
2 . 环信ID对应的密码。用户登陆对应ID时需要验证的密码。
2
回复

【环信官方外包一个项目】利用环信IM实现一个在线白板 环信

KevinGong 回复了问题 • 3 人关注 • 789 次浏览 • 2017-09-25 17:48 • 来自相关话题

0
评论

【开源项目】一个基于环信IM开发的开源的私密社交APP-Baby 即时通信 Baby

seven。 发表了文章 • 908 次浏览 • 2017-08-31 14:49 • 来自相关话题

Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。先上效果图




开屏页的登录和注册




编辑个人信息




相册页面




首页的Moment
版本更新:
 
version 1.6
加入Tinker 热修复更新部分依赖修复大量细节问题,加入部分注释

version 1.5
bug fixupdate sth

version 1.4
增加长按删除功能优化Rxbus订阅加载数据外国友人优化的一些细节等等

version 1.3
增加了评论功能优化了相册加载修复了一些内存泄漏等等

version 1.2
修复了一些Bug把登陆注册事件换了个Zip操作符更符合流的思想

version 1.1
修复了主页背景无法切换的问题修复了聊天推送的问题修了语音视频的问题做了一些细节修改
Download



安装包下载体验
 
github地址
github源码
 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。Thanks for improving my code m-ezzat.

Contacts
Email:379489343zhi@gmail.comQQ:379489343
 Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. 查看全部
   Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。
先上效果图

003.png

开屏页的登录和注册


001.png

编辑个人信息


002.png

相册页面


004.png

首页的Moment


版本更新:
 
version 1.6
  1. 加入Tinker 热修复
  2. 更新部分依赖
  3. 修复大量细节问题,加入部分注释


version 1.5
  1. bug fix
  2. update sth


version 1.4
  1. 增加长按删除功能
  2. 优化Rxbus订阅加载数据
  3. 外国友人优化的一些细节
  4. 等等


version 1.3
  1. 增加了评论功能
  2. 优化了相册加载
  3. 修复了一些内存泄漏
  4. 等等


version 1.2
  1. 修复了一些Bug
  2. 把登陆注册事件换了个Zip操作符更符合流的思想


version 1.1
  1. 修复了主页背景无法切换的问题
  2. 修复了聊天推送的问题
  3. 修了语音视频的问题
  4. 做了一些细节修改

Download

 
github地址

 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
  • 感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。
  • Thanks for improving my code m-ezzat.


Contacts

 
Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
6
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 6146 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
2
回复

【环信官方外包一个项目】利用环信IM实现一个在线白板 环信

回复

KevinGong 回复了问题 • 3 人关注 • 789 次浏览 • 2017-09-25 17:48 • 来自相关话题

0
评论

【开源项目】一个基于环信IM开发的开源的私密社交APP-Baby 即时通信 Baby

seven。 发表了文章 • 908 次浏览 • 2017-08-31 14:49 • 来自相关话题

Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。先上效果图




开屏页的登录和注册




编辑个人信息




相册页面




首页的Moment
版本更新:
 
version 1.6
加入Tinker 热修复更新部分依赖修复大量细节问题,加入部分注释

version 1.5
bug fixupdate sth

version 1.4
增加长按删除功能优化Rxbus订阅加载数据外国友人优化的一些细节等等

version 1.3
增加了评论功能优化了相册加载修复了一些内存泄漏等等

version 1.2
修复了一些Bug把登陆注册事件换了个Zip操作符更符合流的思想

version 1.1
修复了主页背景无法切换的问题修复了聊天推送的问题修了语音视频的问题做了一些细节修改
Download



安装包下载体验
 
github地址
github源码
 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。Thanks for improving my code m-ezzat.

Contacts
Email:379489343zhi@gmail.comQQ:379489343
 Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. 查看全部
   Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。
先上效果图

003.png

开屏页的登录和注册


001.png

编辑个人信息


002.png

相册页面


004.png

首页的Moment


版本更新:
 
version 1.6
  1. 加入Tinker 热修复
  2. 更新部分依赖
  3. 修复大量细节问题,加入部分注释


version 1.5
  1. bug fix
  2. update sth


version 1.4
  1. 增加长按删除功能
  2. 优化Rxbus订阅加载数据
  3. 外国友人优化的一些细节
  4. 等等


version 1.3
  1. 增加了评论功能
  2. 优化了相册加载
  3. 修复了一些内存泄漏
  4. 等等


version 1.2
  1. 修复了一些Bug
  2. 把登陆注册事件换了个Zip操作符更符合流的思想


version 1.1
  1. 修复了主页背景无法切换的问题
  2. 修复了聊天推送的问题
  3. 修了语音视频的问题
  4. 做了一些细节修改

Download

 
github地址

 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
  • 感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。
  • Thanks for improving my code m-ezzat.


Contacts

 
Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
6
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 6146 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
0
回复

聊天记录下载接口很不好用 聊天记录

回复

mengxiangfei 发起了问题 • 1 人关注 • 149 次浏览 • 2017-09-04 15:35 • 来自相关话题

1
回复

新的下载聊天记录的demo什么时候会有 聊天记录 导出聊天记录

回复

木云落 回复了问题 • 2 人关注 • 218 次浏览 • 2017-06-22 10:19 • 来自相关话题

1
回复

环信3.3.1 App kill掉再启动聊天记录就消失了为什么 聊天记录

回复

donghai 回复了问题 • 2 人关注 • 243 次浏览 • 2017-04-24 21:14 • 来自相关话题

1
回复

环信服务器聊天记录保存多久? 聊天记录 存储时间

回复

zhoumin 回复了问题 • 2 人关注 • 787 次浏览 • 2017-04-20 12:13 • 来自相关话题

2
回复

后台是java怎么获取聊天记录啊 聊天记录

回复

环信沈冲 回复了问题 • 2 人关注 • 372 次浏览 • 2017-03-21 16:22 • 来自相关话题

1
回复

实时保存聊天记录的思路 聊天记录

回复

Wxin 回复了问题 • 2 人关注 • 375 次浏览 • 2017-03-06 20:06 • 来自相关话题

1
回复

您好,请问环信的聊天记录同步的接口监控什么时候可以正常 聊天记录导出 聊天记录 环信_RestAPI 环信_Android

回复

donghai 回复了问题 • 2 人关注 • 340 次浏览 • 2017-02-04 22:39 • 来自相关话题

1
回复

iOS端如何获取与好友的聊天记录 聊天记录

回复

donghai 回复了问题 • 2 人关注 • 421 次浏览 • 2016-11-22 17:12 • 来自相关话题

1
回复

聊天记录相关 聊天记录

回复

Wxin 回复了问题 • 3 人关注 • 545 次浏览 • 2016-07-29 12:10 • 来自相关话题

10
回复
1
回复

iOS的自己获取聊天室聊天记录该怎么做? iOS 聊天记录

回复

zhangyb 回复了问题 • 2 人关注 • 1154 次浏览 • 2016-04-11 17:37 • 来自相关话题

1
回复

[请教]【聊天记录爬取的问题】 聊天记录导出 聊天记录

回复

lizg 回复了问题 • 2 人关注 • 1474 次浏览 • 2016-01-11 11:29 • 来自相关话题

2
回复

【环信官方外包一个项目】利用环信IM实现一个在线白板 环信

回复

KevinGong 回复了问题 • 3 人关注 • 789 次浏览 • 2017-09-25 17:48 • 来自相关话题

0
评论

【开源项目】一个基于环信IM开发的开源的私密社交APP-Baby 即时通信 Baby

seven。 发表了文章 • 908 次浏览 • 2017-08-31 14:49 • 来自相关话题

Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。先上效果图




开屏页的登录和注册




编辑个人信息




相册页面




首页的Moment
版本更新:
 
version 1.6
加入Tinker 热修复更新部分依赖修复大量细节问题,加入部分注释

version 1.5
bug fixupdate sth

version 1.4
增加长按删除功能优化Rxbus订阅加载数据外国友人优化的一些细节等等

version 1.3
增加了评论功能优化了相册加载修复了一些内存泄漏等等

version 1.2
修复了一些Bug把登陆注册事件换了个Zip操作符更符合流的思想

version 1.1
修复了主页背景无法切换的问题修复了聊天推送的问题修了语音视频的问题做了一些细节修改
Download



安装包下载体验
 
github地址
github源码
 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。Thanks for improving my code m-ezzat.

Contacts
Email:379489343zhi@gmail.comQQ:379489343
 Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. 查看全部
   Baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。
先上效果图

003.png

开屏页的登录和注册


001.png

编辑个人信息


002.png

相册页面


004.png

首页的Moment


版本更新:
 
version 1.6
  1. 加入Tinker 热修复
  2. 更新部分依赖
  3. 修复大量细节问题,加入部分注释


version 1.5
  1. bug fix
  2. update sth


version 1.4
  1. 增加长按删除功能
  2. 优化Rxbus订阅加载数据
  3. 外国友人优化的一些细节
  4. 等等


version 1.3
  1. 增加了评论功能
  2. 优化了相册加载
  3. 修复了一些内存泄漏
  4. 等等


version 1.2
  1. 修复了一些Bug
  2. 把登陆注册事件换了个Zip操作符更符合流的思想


version 1.1
  1. 修复了主页背景无法切换的问题
  2. 修复了聊天推送的问题
  3. 修了语音视频的问题
  4. 做了一些细节修改

Download

 
github地址

 Development Environment & Library
 
MVP

这个项目是基于MVP框架写的(大体上,聊天那块直接用环信的了),大部分Base类参考FastAndroid里边的基类,参考这个很快就能布好基本的MVP架构。本来是有考虑过MVVM后来想想还是先学习一下MVP吧,看过几个MVVM项目感觉还是挺好用的,不过还是BETA版不知道有没有什么坑。

Material Design

早就手痒想体验一把V7包里边的各种控件了,特喜欢coordinatorlayout和collapsingtoolbarlayout的互动让Tollbar隐藏又现的感觉,但是看起来好看还是要点代价的,在这里捣鼓了不少时间,尤其是collapsingtoolbarlayout的Expanded固定让我Google了好久,因为用英文搜索可能我表达的不太好,最后竟然是一句nestedScroll(false)就可以了。。。。 还是感谢Stackoveflow里边的大腿吧。

Dagger2

依赖注入Dagger2,也是我早就想用的一个框架了,理由是各种配合Mvp十分方便和好用,渐渐也能体会到一次注入到处可用的快感。不过一个新技术真的学习成本,国内没什么中文文档介绍,看国外的看的云里雾里。原理看的明白,用起来好像不太知道如何使用,尤其是在@inject之后对象,也可以在别的地方Inject,原本是被Inject方后来也成了Module提供方。虽然到最后原理还不是特别明白这里,但还是不阻碍用起来的快感。

Realm

一开始被新技术吸引到的是不会放过任何新东西的包括Realm,不过进了坑不代表这个坑可以跳阿。由于我这次用到了leacncloud,Realm感觉会和LeanCloud的子类化冲突让你只能选择其中之一,不过这个也算了,Leancloud提供了类似Map的Put方法也可以接受就是麻烦了点。但是被坑到的地方是Realm所谓的自动数据同步竟然是一改就是改真实的数据,并不是数据的拷贝。。。感觉和我使用到要缓存的数据有点冲突,因为这个Moment里边的项是有点赞的,点赞要修改当前Recycleview的数据(修改数据要开事务)。修改数据后会出现一些很奇怪的现象,不在Recycleview当前Item会跳到当前Item,点赞的动画也会消失。。。真的是想破脑袋也解决不了,就直接跳坑了。最后感觉这个Realm在保存不跟服务器需要同步的数据会好点。

LeanCloud

用LeanCloud是因为在知乎太多吹它的人了而且它的确在BAAS这方面功能比较多(后来才发现即时通信没有语音和视频),所以就尝试使用了,SDK整体来说是不错的都挺好用的,满足了我对存储方面的要求。不过就在我开发的这几天,貌似稳定性没有想象中那么好,好几次上传个头像都会SocketTimeOut,查询也会有点慢,不过还好都在接受范围内(不过要是到了收费的标准我就接受不了)。

环信

baby这个开源项目基于环信IM开发,刚开始选择IM的时候,看到知乎上黑环信的人挺多的,就亲自下载了几家IM的demo源码跑一遍,从功能、集成难易和消息稳定几个方面对比,最终还是选择了环信。集成这方面环信做的真不错,尤其是有了EaseUi这个包,基本上一天就能集成完毕。项目运行至今没有出现过什么问题,发送消息挺稳定的。

Rxjava、RxAndroid

Rxjava我从第一眼看到了就喜欢上了(个人特喜欢那种通过.设置完成的感觉),接触也有几个月,一开始就和Retrofit 、Okhttp一起使用。学习成本还是要有的阿,看了不知道多少篇关于Rxjava使用的文章和例子,对里边的操作符也仅仅停留在那几个最常用的,其他一大堆好多都没用过,看来还用得不够。

Glide

Glide也是一个后来居上让我喜欢的图片加载库,一开始我喜欢picasso 是觉得轻巧而且好用有保证(主要是我偶像Jake Wharton主导,有加成),慢慢觉得Picasso对内存没有Glide来的友好,Glide在加载速度方面也领先,虽然整个库代码量是Picasso的几倍,但是比起重要的内存和用户体验来说还是Glide的领先一筹。

Butterknife、Ucrop等等

当让还有其他的一些润色的轮子啦,不过不是那么重要就不一一感谢啦。

Thanks
  • 感谢Github、LeanCloud、环信、还有造那么多轮子给我们用的Square FaceBook Google的大大们。
  • Thanks for improving my code m-ezzat.


Contacts

 
Copyright 2016 Roger ou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
6
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 6146 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题实现名片|红包|话题聊天室等自定义cell
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
2
评论

android开发查找聊天记录功能 聊天记录

A person′ 发表了文章 • 1273 次浏览 • 2016-06-03 09:26 • 来自相关话题

由于环信本生没有开放出查找聊天记录的接口,但是需求要实现该功能,只能用其他方式实习。
 
实现聊天功能需要用到EventBus
 
EventBus的作用的是回来传值,因为本生的Intent传值,接受不了太多的数据。
 
1.当在聊天页面的时候,去2级页面,获取当前聊天的总数。

2.开启一个异步线程,new EMConversation 类,然后清空

3.在拿聊天页面的当前会话类mConversation .loadMoreMsgFromDB("", 5000) 一次拉取5000条数据出来,
通过EventBug 发送出去(发送EventBug的时候不能用post,而且是用postSticky),通过bug应该知道,不知道的百度下。

4.clear  new 出的新会话类

5.在用当前聊天页面的会话类mConversation.loadMoreMsgFromDB("", mMsgCount); 获取本生显示的消息数据
然后在
mConversation.getAllMessages()
这样做的目的,主要是避免内存中出现重复的数据。
 
数据已经筛选出来了,现在开始模糊查询,跳到2级页面的时候,此时因为有EventBus收到的聊天消息,通过关键字段,来模糊出当前消息,附件有配图,匹配出来后,显示聊天的适配器中,附件有配图,后面下啦的,也会拉出最新的数据附件有配图 ,模糊查询和下拉更多,就是相关逻辑了,不多说直接贴代码。
 
1.通过关键字获取当前聊天记录的数据EMMessage m = mSearchData.get(position);
String msgId = m.getMsgId(); mIndex = 0;
/** * 获取当前所有数据的索引 */
mTempDatas.clear(); mTempDatas.addAll(mDatas);

for (int i = 0; i < mTempDatas.size(); i++) {
if (msgId.equals(mTempDatas.get(i).getMsgId())) {
mIndex = i;
break;
}
}

/** * 获取匹配到的数据并且获得最新的10条数据 */

for (int j = mIndex; j < mTempDatas.size(); j++) {
if (j == 10) {
break;
}
messages.add(mTempDatas.get(j));
}

mTempDatas.removeAll(messages);
Collections.reverse(mTempDatas);
mChatAdapter.notifyDataSetChanged();
vList_emm.setVisibility(View.GONE);
vHint.setVisibility(View.GONE);
findViewById(R.id.rela_edit).setVisibility(View.GONE); findViewById(R.id.btn_view).setVisibility(View.GONE);
listView.setSelection(0);
 
2.下拉更多if (mTempDatas.size() == 0) {
IShowToast("已经加载完成");
}else
{

List<EMMessage> temps = new ArrayList<EMMessage>();
temps.addAll(messages);
messages.clear()
for (int i = 0; i < mTempDatas.size(); i++) {
messages.add(mTempDatas.get(i));
if (i == 10) {
break;
}
}

int index = 0;
index = messages.size();
Collections.reverse(messages);
mTempDatas.removeAll(messages);
messages.addAll(temps);
mChatAdapter.notifyDataSetChanged();
listView.setSelection(index);

}
 
 
大致这些了,这个代码排版好麻烦。。。为了方便看,只能一排排的粘贴
 
后期有空,会在教大家如何优化聊天适配器,如何快速扩展,使代码更加清晰。
 
 
  查看全部
由于环信本生没有开放出查找聊天记录的接口,但是需求要实现该功能,只能用其他方式实习。
 
实现聊天功能需要用到EventBus
 
EventBus的作用的是回来传值,因为本生的Intent传值,接受不了太多的数据。
 
1.当在聊天页面的时候,去2级页面,获取当前聊天的总数。

2.开启一个异步线程,new EMConversation 类,然后清空

3.在拿聊天页面的当前会话类mConversation .loadMoreMsgFromDB("", 5000) 一次拉取5000条数据出来
通过EventBug 发送出去(发送EventBug的时候不能用post,而且是用postSticky),通过bug应该知道,不知道的百度下。

4.clear  new 出的新会话类

5.在用当前聊天页面的会话类mConversation.loadMoreMsgFromDB("", mMsgCount); 获取本生显示的消息数据
然后在
mConversation.getAllMessages()
这样做的目的,主要是避免内存中出现重复的数据。
 
数据已经筛选出来了,现在开始模糊查询,跳到2级页面的时候,此时因为有EventBus收到的聊天消息,通过关键字段,来模糊出当前消息,附件有配图,匹配出来后,显示聊天的适配器中,附件有配图,后面下啦的,也会拉出最新的数据附件有配图 ,模糊查询和下拉更多,就是相关逻辑了,不多说直接贴代码。
 
1.通过关键字获取当前聊天记录的数据
EMMessage m = mSearchData.get(position); 
String msgId = m.getMsgId(); mIndex = 0;
/** * 获取当前所有数据的索引 */
mTempDatas.clear(); mTempDatas.addAll(mDatas);

for (int i = 0; i < mTempDatas.size(); i++) {
if (msgId.equals(mTempDatas.get(i).getMsgId())) {
mIndex = i;
break;
}
}

/** * 获取匹配到的数据并且获得最新的10条数据 */

for (int j = mIndex; j < mTempDatas.size(); j++) {
if (j == 10) {
break;
}
messages.add(mTempDatas.get(j));
}

mTempDatas.removeAll(messages);
Collections.reverse(mTempDatas);
mChatAdapter.notifyDataSetChanged();
vList_emm.setVisibility(View.GONE);
vHint.setVisibility(View.GONE);
findViewById(R.id.rela_edit).setVisibility(View.GONE); findViewById(R.id.btn_view).setVisibility(View.GONE);
listView.setSelection(0);

 
2.下拉更多
if (mTempDatas.size() == 0) {
IShowToast("已经加载完成");
}else
{

List<EMMessage> temps = new ArrayList<EMMessage>();
temps.addAll(messages);
messages.clear()
for (int i = 0; i < mTempDatas.size(); i++) {
messages.add(mTempDatas.get(i));
if (i == 10) {
break;
}
}

int index = 0;
index = messages.size();
Collections.reverse(messages);
mTempDatas.removeAll(messages);
messages.addAll(temps);
mChatAdapter.notifyDataSetChanged();
listView.setSelection(index);

}

 
 
大致这些了,这个代码排版好麻烦。。。为了方便看,只能一排排的粘贴
 
后期有空,会在教大家如何优化聊天适配器,如何快速扩展,使代码更加清晰。
 
 
 
1
评论

为什么app kill掉再启动所有聊天记录都取不到。 聊天记录 收不到推送 消息记录

dujiepeng 发表了文章 • 1629 次浏览 • 2016-03-21 12:20 • 来自相关话题

您需要app启动时加载一下会话相关的db:/*!
@method
@brief 获取当前登录用户的会话列表
@param append2Chat 是否加到内存中。
YES为加到内存中。加到内存中之后, 会有相应的回调被触发从而更新UI;
NO为不加到内存中。如果不加到内存中, 则只会直接添加进DB, 不会有SDK的回调函数被触发从而去更新UI。
@result 会话对象列表
*/
- (NSArray *)loadAllConversationsFromDatabaseWithAppend2Chat:(BOOL)append2Chat;

[[EaseMob sharedInstance].chatManager loadAllConversationsFromDatabaseWithAppend2Chat:NO]; 查看全部
您需要app启动时加载一下会话相关的db:
/*!
@method
@brief 获取当前登录用户的会话列表
@param append2Chat 是否加到内存中。
YES为加到内存中。加到内存中之后, 会有相应的回调被触发从而更新UI;
NO为不加到内存中。如果不加到内存中, 则只会直接添加进DB, 不会有SDK的回调函数被触发从而去更新UI。
@result 会话对象列表
*/
- (NSArray *)loadAllConversationsFromDatabaseWithAppend2Chat:(BOOL)append2Chat;

[[EaseMob sharedInstance].chatManager loadAllConversationsFromDatabaseWithAppend2Chat:NO];
0
评论

我们聊天记录要同步,环信是否保存聊天记录呢? 聊天记录 导出聊天记录 环信_Android

环信专业服务 发表了文章 • 3988 次浏览 • 2016-01-27 00:00 • 来自相关话题

环信服务器会保存聊天记录3天的,开发者需要通过rest api定期获取历史消息到app服务器,每次获取聊天记录从app服务器获取。
环信服务器会保存聊天记录3天的,开发者需要通过rest api定期获取历史消息到app服务器,每次获取聊天记录从app服务器获取。
0
评论

能获取环信服务器上的聊天记录吗? 聊天记录 环信_RestAPI

环信专业服务 发表了文章 • 3624 次浏览 • 2015-09-17 16:22 • 来自相关话题

可以,环信提供一个聊天记录导出接口(需要在服务端调用),可以参考地址:http://docs.easemob.com/doku.p ... og%23导出聊天记录
可以,环信提供一个聊天记录导出接口(需要在服务端调用),可以参考地址:http://docs.easemob.com/doku.p ... og%23导出聊天记录
0
评论

IOS删除所有聊天记录的方法是哪个? 聊天记录 iOS 删除 环信_iOS

环信专业服务 发表了文章 • 1430 次浏览 • 2015-09-14 18:43 • 来自相关话题

/*!
 @method
 @brief 删除所有会话对象
 @discussion
 @param aDeleteMessages 是否删除这个会话对象所关联的聊天记录
 @param append2Chat     是否加到内存中。
        YES为加到内存中。加到内存中之后, 会有相应的回调被触发从而更新UI;
        NO为不加到内存中。如果不加到内存中, 则只会直接添加进DB, 不会有SDK的回调函数被触发从而去更新UI。
 @result 是否成功执行
 */
- (BOOL)removeAllConversationsWithDeleteMessages:(BOOL)aDeleteMessages
                                     append2Chat:(BOOL)append2Chat。 查看全部
/*!
 @method
 @brief 删除所有会话对象
 @discussion
 @param aDeleteMessages 是否删除这个会话对象所关联的聊天记录
 @param append2Chat     是否加到内存中。
        YES为加到内存中。加到内存中之后, 会有相应的回调被触发从而更新UI;
        NO为不加到内存中。如果不加到内存中, 则只会直接添加进DB, 不会有SDK的回调函数被触发从而去更新UI。
 @result 是否成功执行
 */
- (BOOL)removeAllConversationsWithDeleteMessages:(BOOL)aDeleteMessages
                                     append2Chat:(BOOL)append2Chat。
1
评论

聊天记录想按条件查询,可以吗? 聊天记录 导出聊天记录 环信_RestAPI

环信专业服务 发表了文章 • 1282 次浏览 • 2015-09-13 18:57 • 来自相关话题

这个不能支持的。聊天记录导出接口只是用来导出用的,导出后自己的服务器再进行过滤。
这个不能支持的。聊天记录导出接口只是用来导出用的,导出后自己的服务器再进行过滤。
0
评论

客户端支持拉取历史聊天记录吗? 导出聊天记录 聊天记录 环信_SDK公共

环信专业服务 发表了文章 • 1692 次浏览 • 2015-09-09 21:24 • 来自相关话题

目前还不支持,需要由您服务器调用rest接口从环信服务器导出聊天记录,客户端从您服务器获取聊天记录并插入到客户端数据库中。
目前还不支持,需要由您服务器调用rest接口从环信服务器导出聊天记录,客户端从您服务器获取聊天记录并插入到客户端数据库中。
0
评论

客服系统那么大的咨询量,服务器存储聊天内容的策略是什么? 这个导出来的是一Excel表格,还需要自己去查询? 客服系统聊天记录储存空间是多少? 聊天记录 导出聊天记录 环信移动客服

环信专业服务 发表了文章 • 2066 次浏览 • 2015-09-07 04:20 • 来自相关话题

客服系统是多租户平台,服务器端的聊天消息是按照每个租户(Tenant),与某个访客的聊天记录,存放在一个消息(有序桶)里,并且可以按Tenant、访客、会话、时间段、序列号查询取出。目前没有储存空间的限制。
客服系统是多租户平台,服务器端的聊天消息是按照每个租户(Tenant),与某个访客的聊天记录,存放在一个消息(有序桶)里,并且可以按Tenant、访客、会话、时间段、序列号查询取出。目前没有储存空间的限制。
0
评论

如果一个群主解散了一个群,这个群在本地的聊天记录还有吗? 聊天记录 环信_Android

环信专业服务 发表了文章 • 4091 次浏览 • 2015-09-04 00:49 • 来自相关话题

解散群组和退出群组都默认会删除本地会话和聊天记录,可以调用EMChatOptions的方法进行设置不删除setDeleteMessagesAsExitGrouppublic void setDeleteMessagesAsExitGroup(boolean delete)
设置退出(主动和被动退出)群组时是否删除聊天消息 enable/disable deleting the group message after existing the group参数:
delete - true为删除群组相关消息,默认为true 查看全部
解散群组和退出群组都默认会删除本地会话和聊天记录,可以调用EMChatOptions的方法进行设置不删除setDeleteMessagesAsExitGrouppublic void setDeleteMessagesAsExitGroup(boolean delete)
设置退出(主动和被动退出)群组时是否删除聊天消息 enable/disable deleting the group message after existing the group参数:
delete - true为删除群组相关消息,默认为true
0
评论

用环信平台是否会泄露用户数据吗?环信必须要保留用户的什么数据,是用户名、密码和聊天记录吗? 聊天记录 导出聊天记录 环信_管理后台

环信专业服务 发表了文章 • 2394 次浏览 • 2015-09-02 22:22 • 来自相关话题

环信不会去接触任何开发者APP的业务数据和用户体系。具体来说,环信只有app的两个数据:
1 . 环信ID。要使用环信,需要为每一个需分配一个环信ID。
2 . 环信ID对应的密码。用户登陆对应ID时需要验证的密码。
环信不会去接触任何开发者APP的业务数据和用户体系。具体来说,环信只有app的两个数据:
1 . 环信ID。要使用环信,需要为每一个需分配一个环信ID。
2 . 环信ID对应的密码。用户登陆对应ID时需要验证的密码。