IM技术已经广泛应用于App,自己搭建IM即时通讯不仅对技术要求甚高,人力物力方面也得不偿失.掌握一门IM即时通讯SDK应用技术.能让我们在程序猿大军中提升竞争力. sealtalk GitHub 源码: https://github.com/sealtalk/sealtalk-android
部分功能预览
功能
- sealtalk 包含集成了完整的 IM 相关通讯
- sealtalk 和 sealtalk server 维护了 一套好友关系 和 群组关系
- sealtalk 包含多场景的会话 例如: 单聊 群聊 聊天室 客服等等
- sealtalk 包含了音视频功能
- 扩展地理位置 红包等功能
重要类
- SplashActivity 程序入口类
- MainActivity 程序主界面 , 四个 tab Fragment 的宿主
- MineFragment 我的界面
- ContactsFragment 通讯录联系人界面
- SealAppContext SDK 重要监听注册
- SealAction sealtalk 与 server 的 HTTP 请求接口
UML
技术选型
Http: android-async-http 在这个遍地全是 okhttp 和 retrofit 的时代看到 android-async-http 是不是有点小清新。遗憾的是该项目已经停止维护 ,但不失为一个优秀的 http 开源项目,值得了解和学习
db : greenDao greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。开发者甚至不需要记住 sql 语句,完全符合面向对象的开发思想
json : fastJson 阿里巴巴开源出品的一款 json 解析开源项目。据说号称 json 解析速度最快 速度大于 Gson 、 JackSon
Module 分解
- 强制需要的 module 为 IMLib IMKit , IMLib 为核心通讯能力库 IMKit 为 UI 能力库
- 其他 module 可根据需求选择插件式添加
- RedPacket 为红包功能插件
- CallLib CallKit 为音视频库
- Recognizer 为基于科大讯飞的语音输入库
- contactcard 为插件 plugin 名片库
- Sticker 为表情贴纸库
有任何疑问或者问题欢迎在医生公众号下方留言,或者在 Github sealtalk 上提交 issue 。再次感谢医生给这次分享的机会~