一.框架需求:
1.Mvp框架
2.butterkneife黄油刀
3.calces组件化
4.Arouter路由跳转
5.上传代码到SVN
7.retrofit+rxjava单例模式网络封装
8…使用rxPermissions动态获取权限
9.所有的页面跳转和fragment切换使用动画效果
10.屏幕适配
二.第三方集成:
1.环信集成
2.支付宝集成
3.百度地图集成
三.业务需求:
1.欢迎页面
a)展示图片完成旋转 缩放 透明度 平移动画
b)动画结束后跳转到登陆注册页面
c)第一次打开显示欢迎页,下次打开不显示欢迎页面
2.登陆注册模块
a)登陆功能
b)注册功能
c)记住密码
d)指纹登陆
e)用户名和密码校验6-12位
3.主页面
a)底部UI切换fragment
b)实现侧滑抽屉,抽屉上显示当前用户名和用户头像
c)顶部实现titlebar,点击+弹出菜单,点击返回关闭页面
d)扫一扫添加好友功能
e)添加好友功能
f)创建群聊功能
g)点击群详情可以群禁言,群解散,修改群名称,拉新人进群
4.会话列表fragment
a)展示会话列表
b)会话列表显示未读消息红点
c)点击会话跳转到对应的聊天页面
5.好友列表fragment
a)展示好友列表
b)点击好友跳转到对应的聊天页面
6.Mvp fragment
a)使用MVP获得短视频数据并瀑布流展示
b)左滑图片旋转45度,右滑动图片放大1.5倍
c)点击item跳转页面播放视频
d)点赞效果
e)实现上拉下拉效果
7.我的 fragment
a)显示当前用户名称和用户头像
b)生成二维码名片
c)扫描二维码添加好友
d)点击支付打开支付宝支付
8.聊天页面:
a)发送文字
b)发送图片
c)发送文件
d)发送语音
e)发送表情
f)发送红包:打开支付宝
g)发送位置:百度地图集成
四. 环境复杂黩:
- 考虑框架造成的内存泄漏问题:P层
- 考虑消息不实时的情况怎么办:上拉下拉
- 考虑历史消息加载不出来的情况:数据库缓存
- 考虑不同的机型加载聊天的左右布局时显示不全的情况:屏幕适配
- 考虑无网弱网情况下的处理:将数据使用数据库或者sp存储
- 调用支付宝前判断是否安装:
- 数据缓存:使用GreenDao完成数据库操作
h)将好友列表或者会话列表信息存储到数据库中
i)当无网络的时候读取数据库中数据展示