一直想做一个类似QQ的聊天APP,先是仿了QQ的UI(详见【Android】高仿QQ
5.0+ UI),现在借助第三方服务实现了聊天功能。在知乎上看到有人也在问如何实现一个IM,如果完全自己做,还得去了解一些通信协议,于是偷懒使用了第三方的服务。虽说底层的通信不需要自己管,但其他的编码量也并不小,前后花了一个多礼拜。(当然也是自己学艺不精)
关于融云,我引用我在知乎上的一段回答:
偷懒使用了第三方的服务融云[当然类似的有好多,比如环信],它提供了私聊,聊天室,群,客服等模式。有两个库可供选择imkit和imlib.imkit内置了一些做好的界面,你只需要整合到自己的APP中即可。imlib提供的是一些基本的功能类,不包括界面,对界面等定制要求高可以使用这个。界面什么的都要自己写,工作量相对大,个人建议直接使用imkit就好。融云提供了iOS和Android两个版本的库[我相信你不需要做1%],提供的功能大同小异。不过用户信息管理,用户关系等都需要自己的服务器维护,融云的服务器消息的收发。
使用融云你需要自己搭建一个简单的服务器维护用户信息,将融云提供的组件整合到你的APP中。更多的细节可以去看融云的文档。
服务器端我是临时学了Java Web后搭的,逻辑并不复杂。、
- 界面遵循Google的 Material Design 规范,关于Material Design的教程可以参考 www.android4devs.com(被GFW,请自备梯子)。
- 配色可以借助http://www.materialpalette.com/ 这样就可以专心写代码基本不为界面发愁了→_→
- Material Design 风格的图标可以直接到http://www.icons4android.com/ 下载
- 其他关于融云SDK的使用直接到查阅官网文档,同时也可以向他们发”工单”寻求帮助
这样基本就搞定了~_~
业务逻辑图:
下面是应用效果截图:
完整代码: https://github.com/MummyDing/FunnyChat-IM
【转载请注明出处】
Author: MummyDing