是一款大作业级别的健身原生安卓APP,View层界面架构为多Activity多Fragment,采用MVP模式分离界面逻辑和业务逻辑,降低了耦合性
/data //Model层组件包,主要放数据模型类、DB接口、Api接口,这些接口统一由DataManager做为一个proxy提供Model层的对外接口
/di //依赖注入,主要有两个scope:ApplicationContext和PerAcitivity,针对全局和单个活动
/ui //存放Presenter和View层(活动和碎片)组件,分模块放在不同的子包里面
/utils //实用工具包
MvpApp.java //Android应用的全局Context,存放对于整个App lifecycle可见的状态,它在启动APP时会第一个被创建
- Dagger2,依赖注入库
- Rxjava,ReactiveX JVM实现,提供了异步流式处理,主要的作用是简化异步事件处理的代码,用于Model层里面的Http客户端以及数据库查询逻辑(对数据进行流式处理)、 以及Presenter层中在Callback(回调函数)中对UI线程中的UI进行更新(通过调用View层方法的方式)
- ButterKnife,简化获取控件对象以及绑定UI事件的代码
- GreenDao,用于简化SQlite DAO代码
- fragmentation,用于更简单的管理Fragments的库
- retrofit+okhttp,HTTP客户端,和REST后台接口进行通信,配合Rxjava简化代码,属于Model层
- gson,听说很牛逼的json解析器
- UI控件:ButtomNavigationView、CardView、ToolBar、ViewPager、TabLayout、CircleImageView
- stetho,facebook出品的devtools调试安卓程序
- postman, API测试工具