开源的 IM 项目 Sealtalk

IM技术已经广泛应用于App,自己搭建IM即时通讯不仅对技术要求甚高,人力物力方面也得不偿失.掌握一门IM即时通讯SDK应用技术.能让我们在程序猿大军中提升竞争力. sealtalk GitHub 源码: https://github.com/sealtalk/sealtalk-android

部分功能预览

开源的 IM 项目 Sealtalk_第1张图片

开源的 IM 项目 Sealtalk_第2张图片

开源的 IM 项目 Sealtalk_第3张图片

开源的 IM 项目 Sealtalk_第4张图片

功能

  • sealtalk 包含集成了完整的 IM 相关通讯
  • sealtalk 和 sealtalk server 维护了 一套好友关系 和 群组关系
  • sealtalk 包含多场景的会话 例如: 单聊 群聊 聊天室 客服等等
  • sealtalk 包含了音视频功能
  • 扩展地理位置 红包等功能

重要类

  • SplashActivity 程序入口类
  • MainActivity 程序主界面 , 四个 tab Fragment 的宿主
  • MineFragment 我的界面
  • ContactsFragment 通讯录联系人界面
  • SealAppContext SDK 重要监听注册
  • SealAction sealtalk 与 server 的 HTTP 请求接口

UML

开源的 IM 项目 Sealtalk_第5张图片

技术选型

Http: android-async-http 在这个遍地全是 okhttp 和 retrofit 的时代看到 android-async-http 是不是有点小清新。遗憾的是该项目已经停止维护 ,但不失为一个优秀的 http 开源项目,值得了解和学习

db : greenDao greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。开发者甚至不需要记住 sql 语句,完全符合面向对象的开发思想

json : fastJson 阿里巴巴开源出品的一款 json 解析开源项目。据说号称 json 解析速度最快 速度大于 Gson 、 JackSon

Module 分解

开源的 IM 项目 Sealtalk_第6张图片

  • 强制需要的 module 为 IMLib IMKit , IMLib 为核心通讯能力库 IMKit 为 UI 能力库
  • 其他 module 可根据需求选择插件式添加
  • RedPacket 为红包功能插件
  • CallLib CallKit 为音视频库
  • Recognizer 为基于科大讯飞的语音输入库
  • contactcard 为插件 plugin 名片库
  • Sticker 为表情贴纸库

有任何疑问或者问题欢迎在医生公众号下方留言,或者在 Github sealtalk 上提交 issue 。再次感谢医生给这次分享的机会~

你可能感兴趣的