Skip to content

IM APP hTalker by MVP. MVP打造IM即时通讯APP--嗨聊。

License

Notifications You must be signed in to change notification settings

hydcoder/hTalker

Repository files navigation

hTalker

IM APP by MVP. MVP打造IM即时通讯APP--嗨聊。

服务端代码链接

界面效果流程

### 主要实现

  1. 完整的IM APP实现
  2. IM APP Android端实现
  3. IM APP 服务器端实现(本地服务器)

整体架构

客户端架构模式

主要功能

相关技术

聊天

单聊原理

群聊原理

语音聊天

开发流程

  • 项目搭建与基础模块准备
  • 数据库模型设计
  • 聊天基础模块搭建(登录注册、关注、联系人)
  • 数据库操作与数据仓库封装
  • 实现消息通讯(聊天)
  • 群聊天的实现(多成员通知送达)
  • 聊天扩展(表情、语音、图片)

IM四大协议

  • IMPP:即时信息和空间协议
  • XMPP: 可扩展通讯和表示协议
  • SIMPLE(SIP):针对即时信息和空间平衡的扩充协议
  • PRIM:空间和即时信息协议(已未使用)

实现方案与选型

相关技术支持

  • 基于IM四大协议自己实现
  • 网易云信SDK UIKIT
  • WebSocket、Socket.IO
  • 推送方案(Socket、Netty)

第三方平台

推送平台
  • 友盟
  • 腾讯
  • 阿里
  • 个推
  • 其他
存储平台
  • 七牛:老平台
  • 阿里OSS: 足够稳定,价格适中,API简单
  • 百度,腾讯

项目收获

  • 即时通讯聊天的技术原理与实现
  • 运用MVP设计模式
  • 前后台的实现以及各种主流框架的使用
  • 相关数据库模型的设计

还未实现的

  • 还未问题友没有申请-现在是直接加朋友

  • 没有申请加入群的入口-只能找群创建者让他操作进行添加

  • 群管理入口,现在只能在聊天界面进入

    应当支持在群成员列表右上角有一个进入的入口

  • 聊天消息应该具备查看历史记录的操作

    现在的聊天仅仅只能看见两个人相互聊天的消息,并不能查询我没在线情况下的相关消息;这个地方有两种办法解决:1.增加查询接口,进行历史记录查询;2.当用户登录时后台自主查询是否有未送达的消息,如果有则进行推送;同时手机端应该上报已收到消息的信息。

  • 发送聊天后应该自动滚动到底部显示

  • 联系人列表/群列表刷新应该具有下拉刷新

    现在是进入界面的第一次发起网络请求进行查询并更新,其实可以不自动刷新,由用户手动下拉刷新;并且加上时间条件,减少全部返回,仅仅只返回更改部分。

  • 聊天列表表情显示应当“动起来”

    表情要动起来,涉及动态刷新“标示”-SPAN-Drawable的操作。

  • 表情还应该支持服务器直接商店下发

  • 语音录制的时候应该有相应的效果

    应该具有根据声音的大小进行波动的水波纹效果。

  • 即时语音聊天技术的实现

  • 即时视频聊天技术的实现

  • 消息送达模块改进(改用socket实现,不依赖推送平台)

About

IM APP hTalker by MVP. MVP打造IM即时通讯APP--嗨聊。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages