##使用Flux架构 View -> Creator -> Http/Database/SharePreferce -> Dispatcher -> Store
说明:单向数据流。
View -> Creator: 使用Dagger2进行注入调用
Creator -> Store :使用Dispatcher管理Store,对所有在View层注册的Store进行通知。根据Type区别事件类型
Store -> View :使用Rxbus进行数据传递。
##应用功能介绍
###Application功能:
用Dagger2进行依次进行Http/Database/Flux注入,以达到单例效果。可以全局使用
###Activity层:
常用功能注入:使用Application层全所功能对象。
View对象及事件注入:使用ButterKnife进行快速初始化View及点击事件
###Fragment层:
常用功能注入:使用Activity层注入器,共享Application级对象及Activity级对象
View注入:使用ButterKnife进行快速注入
###Adapter层:
代表:进行细化View。使用代表概念,每种布局都是一个代表。每个Adapter由一个或者多个代表组成。
Adapter:对代表进行管理。具体事件由每个代表自己完成
RecyclerView:增加上拉刷新,下拉更多,空白页,错误页,等待界面
##数据读写方案
按优先级从高到低排列
1.内存 -> 数据库 -> 网络
2.SD -> 网络
3.数据库 -> 网络
##View展现方案:
1.读取本地缓存 -> View显示 -> 进度条显示 -> 读取网络数据 -> 更新本地缓存 -> View显示 ->进度条隐藏
###空白页
本地缓存及网络都没有数据
###异常页
数据库/网络异常。可以点击刷新重新加载
###数据加载页
本地缓存无数据显示
##离线View
可以分页加载本地数据
1.读取本地缓存 -> View显示 ->提示查看网络设置