全开源即时通讯(IM)系统 高仿微信_wildfirechat-程序员宅基地

技术标签: Android 不错文章转载  

android-chat

项目地址:wildfirechat/android-chat 

简介:全开源即时通讯(IM)系统 高仿微信

更多:作者   提 Bug   官网   

标签:

 

野火 IM 是一套跨平台、全开源的即时通讯解决方案,主要包含以下内容。

仓库 说明 备注
android-chat 野火 IM Android SDK 源码和 App 源码 可以很方便地进行二次开发,或集成到现有应用当中
ios-chat 野火 IM iOS SDK 源码和 App 源码 可以很方便地进行二次开发,或集成到现有应用当中
pc-chat 基于Electron开发的 PC 平台应用  
proto 野火 IM 的协议栈实现  
server IM server  
app server 应用服务端  
robot_server 机器人服务端  
push_server 推送服务器  
docs 野火 IM 相关文档,包含设计、概念、开发、使用说明  

说明

本工程为野火 IM Android App,开发过程中,充分考虑了二次开发和集成需求,可作为 SDK 集成到其他应用中,或者直接进行二次开发,详情可以阅读docs.

开发一套 IM 系统真的很艰辛,请路过的朋友们给点个 star,支持我们坚持下去?????

开发调试说明

我们采用最新稳定版 Android Studio 及对应的 gradle 进行开发,对于旧版本的 IDE,我们没有测试,编译之类问题,需自行解决。

二次开发说明

野火 IM 采用 bugly 作为日志手机工具,大家二次开发时,务必将MyApp.java中的 bugly id 替换为你们自己的,否则错误日志都跑我们这儿来了,你们收集不到错误日志,我们也会收到干扰。

另外,如果可以请告知我们,我们会在案例参考把项目加上。

联系我们

问题讨论请加群:822762829

微信公众号:

强烈建议关注我们的公众号。我们有新版本发布或者有重大更新会通过公众号通知大家,另外我们也会不定期的发布一些关于野火 IM 的技术介绍。

体验 Demo

我们提供了体验 demo,请使用微信扫码下载安装体验

野火 IM

应用截图

ios-demo1

ios-demo2

协议栈的编译

工程中已经包括了编译好的协议栈,你也可以自己编译协议栈,编译方法请参考协议栈工程。

集成

  1. client 部分,自行下载代码,并将 client module 引入你们自己的项目。
  2. UI(chat)部分,需要你自行下载,并将代码移动到你自己的项目,且必须是 application module,不能作为 library module 引入的原因是注解中使用了 R.xx.yyyy, 而 library module 中,R.xx.yyy 并不是一个常量。后续会采用 butterKnife 的方式,引入 R2.xx.yyyy。

贡献

欢迎提交 pull request,一起打造一个更好的开源 IM。

鸣谢

  1. LQRWeChat 本项目中图片选择器、表情基于此开发
  2. butterKnife
  3. OKHttp 等一些其他优秀的开源项目
  4. 本工程使用的 Icon 全部来源于icons8,对他们表示感谢。
  5. Gif 动态图来源于网络,对网友的制作表示感谢。

如果有什么地方侵犯了您的权益,请联系我们删除???

案例参考

todo

License

  1. Under the MIT license. See the LICENSE file for details.
  2. Under the 996ICU License. See the LICENSE file for details.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014608640/article/details/90719832

智能推荐

python中文显示不出来_解决Python词云库wordcloud不显示中文的问题-程序员宅基地

文章浏览阅读2.6k次。解决Python词云库wordcloud不显示中文的问题2018-11-25背景:wordcloud是基于Python开发的词云生成库,功能强大使用简单。github地址:https://github.com/amueller/word_cloudwordcloud默认是不支持显示中文的,中文会被显示成方框。安装:安装命令:pip install wordcloud解决:经过测试发现不支持显示中文..._词云python代码无法输出文字

台式计算机cpu允许温度,玩游戏cpu温度多少正常(台式电脑夏季CPU一般温度多少)...-程序员宅基地

文章浏览阅读1.1w次。随着炎热夏季的到来,当玩游戏正爽的时候,电脑突然死机了,自动关机了,是不是有想给主机一脚的冲动呢?这个很大的原因是因为CPU温度过高导致的。很多新手玩家可能都有一个疑虑,cpu温度多少以下正常?有些说是60,有些说是70,到底多高CPU温度不会死机呢?首先我们先看看如何查看CPU的温度。下载鲁大师并安装,运行鲁大师软件,即可进入软件界面,并点击温度管理,即可看到电脑各个硬件的温度。鲁大师一般情况下..._台式机玩游戏温度多少正常

小白自学Python日记 Day2-打印打印打印!_puthon打印任务收获-程序员宅基地

文章浏览阅读243次。Day2-打印打印打印!我终于更新了!(哭腔)一、 最简单的打印最最简单的打印语句: print(“打印内容”)注意:python是全英的,符号记得是半角下面是我写的例子:然后进入power shell ,注意:你需要使用cd来进入你保存的例子的文件夹,保存时名字应该取为xxx.py我终于知道为什么文件夹取名都建议取英文了,因为进入的时候是真的很麻烦!如果你没有进入正确的文件夹..._puthon打印任务收获

Docker安装:Errors during downloading metadata for repository ‘appstream‘:_"cenerrors during download metadata for repository-程序员宅基地

文章浏览阅读1k次。centos8问题参考CentOS 8 EOL如何切换源? - 云服务器 ECS - 阿里云_"cenerrors during download metadata for repository \"appstream"

尚硅谷_谷粒学苑-微服务+全栈在线教育实战项目之旅_基于微服务的在线教育平台尚硅谷-程序员宅基地

文章浏览阅读2.7k次,点赞3次,收藏11次。SpringBoot+Maven+MabatisPlusmaven在新建springboot项目引入RELEASE版本出错maven在新建springboot项目引入RELEASE版本出错maven详解maven就是通过pom.xml中的配置,就能够从仓库获取到想要的jar包。仓库分为:本地仓库、第三方仓库(私服)、中央仓库springframework.boot:spring-boot-starter-parent:2.2.1.RELEASE’ not found若出现jar包下载不了只有两_基于微服务的在线教育平台尚硅谷

随便推点

设置div背景颜色透明度,内部元素不透明_div设置透明度,里面的内容不透明-程序员宅基地

文章浏览阅读2.8w次,点赞6次,收藏22次。设置div背景颜色透明度,内部元素不透明:.demo{  background-color:rgba(255,255,255,0.15) } 错误方式:.demo{ background-color:#5CACEE;opacity:0.75;} 这样会导致div里面的元素内容和背景颜色一起变透明只针对谷歌浏览器的测试_div设置透明度,里面的内容不透明

Discuz!代码大全-程序员宅基地

文章浏览阅读563次。1.[ u]文字:在文字的位置可以任意加入您需要的字符,显示为下划线效果。2.[ align=center]文字:在文字的位置可以任意加入您需要的字符,center位置center表示居中,left表示居左,right表示居右。5.[ color=red]文字:输入您的颜色代码,在标签的中间插入文字可以实现文字颜色改变。6.[ SIZE=数字]文字:输入您的字体大小,在标签的中间插入文..._discuzcode 大全

iOS NSTimer定时器-程序员宅基地

文章浏览阅读2.6k次。iOS中定时器有三种,分别是NSTimer、CADisplayLink、dispatch_source,下面就分别对这三种计时器进行说明。一、NSTimerNSTimer这种定时器用的比较多,但是特别需要注意释放问题,如果处理不好很容易引起循环引用问题,造成内存泄漏。1.1 NSTimer的创建NSTimer有两种创建方法。方法一:这种方法虽然创建了NSTimer,但是定时器却没有起作用。这种方式创建的NSTimer,需要加入到NSRunLoop中,有NSRunLoop的驱动才会让定时器跑起来。_ios nstimer

Linux常用命令_ls-lmore-程序员宅基地

文章浏览阅读4.8k次,点赞17次,收藏51次。Linux的命令有几百个,对程序员来说,常用的并不多,考虑各位是初学者,先学习本章节前15个命令就可以了,其它的命令以后用到的时候再学习。1、开机 物理机服务器,按下电源开关,就像windows开机一样。 在VMware中点击“开启此虚拟机”。2、登录 启动完成后,输入用户名和密码,一般情况下,不要用root用户..._ls-lmore

MySQL基础命令_mysql -u user-程序员宅基地

文章浏览阅读4.1k次。1.登录MYSQL系统命令打开DOS命令框shengfen,以管理员的身份运行命令1:mysql -u usernae -p password命令2:mysql -u username -p password -h 需要连接的mysql主机名(localhost本地主机名)或是mysql的ip地址(默认为:127.0.0.1)-P 端口号(默认:3306端口)使用其中任意一个就OK,输入命令后DOS命令框得到mysql>就说明已经进入了mysql系统2. 查看mysql当中的._mysql -u user

LVS+Keepalived使用总结_this is the redundant configuration for lvs + keep-程序员宅基地

文章浏览阅读484次。一、lvs简介和推荐阅读的资料二、lvs和keepalived的安装三、LVS VS/DR模式搭建四、LVS VS/TUN模式搭建五、LVS VS/NAT模式搭建六、keepalived多种real server健康检测实例七、lvs持久性工作原理和配置八、lvs数据监控九、lvs+keepalived故障排除一、LVS简介和推荐阅读的资料 学习LVS+Keepalived必须阅读的三个文档。1、 《Keepalived权威指南》下载见http://..._this is the redundant configuration for lvs + keepalived server itself

推荐文章

热门文章

相关标签