框架:
MVVM+LiveData+DataBinding
交易所项目重构.png
特点:
- 快速开发:只需要写项目的业务逻辑,不用再去关心网络请求、权限申请、View的生命周期等问题
- 维护方便:MVVM开发模式,低耦合,逻辑分明。Model层负责将请求的数据交给ViewModel;ViewModel层负责将请求到的数据做业务逻辑处理,最后交给View层去展示,与View一一对应;View层只负责界面绘制刷新,不处理业务逻辑,非常适合分配独立模块开发。
- 数据绑定:满足google目前控件支持的databinding双向绑定,并扩展原控件一些不支持的数据绑定。例如将图片的url路径绑定到ImageView控件中,在BindingAdapter方法里面则使用Glide加载图片;View的OnClick事件在BindingAdapter中方法使用RxView防重复点击,再把事件回调到ViewModel层,实现xml与ViewModel之间数据和事件的绑定
- 基类封装:专门针对MVVM模式打造的BaseActivity、BaseFragment、BaseViewModel,在View层中不再需要定义ViewDataBinding和ViewModel,直接在BaseActivity、BaseFragment上限定泛型即可使用。
Module模块
-
MvvmArms模块
MVVM基础包,主要为基类的相关封装和相关工具类的封装。 -
Cas登录模块
封装好cas登录的相关流程,开发人员无须关心具体实现流程,只需调 用和接受返回结果即可 -
验证模块(短信/邮箱/极验/..)
封装好验证流程,对APP层的接口返回code进行对接处理。 -
K线模块
封装好K线View,提供自定义属性供开发者调用 -
WebSocket模块
封装WebSocket通信模块,实现K线数据和聊天功能 - 网络请求模块
App模块
- 用户模块:
注册/登录/找回密码
用户个人信息以及相关的修改
用户的资产管理
用户的订单管理
用户的账号安全管理
- 行情模块
行情的搜索
行情的图标/K线
- 交易模块
币币交易/法币交易
充币
提币
交易
委托记录
聊天
App.png