如题,项目为即时通信软件,主要实现功能如下:
至20210627:
(1)好友聊天
(2)群组聊天
(3)朋友圈
聊天内容已经实现文字,图片,语音。
朋友圈为图文实现。
本软件分为安卓端和服务器实现。
服务器使用redis,websocket实现
安卓端使用mvvm+okhttp实现
安卓端
运行图片
架构
livedata+viewmodel+databinding为主框架,okhttp+retrofit+rxjava实现网络请求,okhttp中websocket作为长链接实现。
长连接
注意:需要定义一个定时器,定时查询websocket连接状态,若断开则重新连接。
朋友圈
关于朋友圈界面的实现,主要耗时点在某些自定义控件上面,例如自定义评论列表控件,自定义点赞列表控件。
音频数据
原生pcm录音生成的文件占用空间太多了,这里使用lamb开源库进行了录音文件的格式转换并且压缩。
图片数据
使用luban进行图片压缩,减少占用空间。
//------------------------------------
服务端
消息缓存
redis,主要做一些用户信息,提示信息的数据缓存。
长连接
websocket,使用Java原生的websocket
其他
数据库增删查改
架构图如下:
需要源码私信我,有偿!
更新----------
20210629:
增加朋友圈列表,朋友圈个人主页页面
增加删除朋友圈评论
增加删除朋友圈
更新----------
20210816
增加消息有效期为30天
优化用户体验
更新----------
20210820
增加主题切换功能
增加搜索用户功能
增加投诉反馈入口
that's all---------------------------------------------------------------------------------------------------------
google play link:https://play.google.com/store/apps/details?id=com.north.light.im