介绍
这是最近做项目用到的一个框架,我认为比较好,所以分享出来
项目组成
1. 主结构 MVP+Rxjava2+Dagger2+retrofit
主要用于网络请求,数据封装这两个过程
2.eventbus、BRV、utilcode、gson(主要说一下BRV和utilcode)
- BRVAH:万能适配器。用于项目开发简单方便,设置列表动画,添加headerView和footerView,空页面,一般列表,折叠列表,多类型列表都非常适用。建议去github跑demo看看效果
- utilcode:安卓开发最常见的工具类,如果熟练对于简单便捷的开发项目有很大作用,里面封装了安卓各种常见方法,像时间格式转换,md5加密等千种常见方法,点击进入 utilcode_README
3.库module_ui
建议将项目中与UI相关的库和xml文件放入到这个库中,用于公共UI组件。将会在下一篇介绍更标准的组件化mvp+kotlin架构
主项目目录介绍
- 基类,MVP必须组成结构
- kotlin拓展函数,这也是kotlin写项目的方便处之一,在这里面简短了常用方法,增加了开发的效率,我们不用为页面跳转或或设置颜色等多写代码,dp和px转化甚至几个字母就能实现,自行查看文件不做过多描述。RxExtentions相关的拓展函数在网络请求中使用,对应页面的presenter中使用,根据后台所定的基本数据格式来,这里处理了异常数据,可以选择有或无进度条的请求,处理之后的数据丢给了presenter
- RxExtentions拓展函数里所需的实现类
- dagger2相关,注意每写一个activity或fragment,只要继承了BaseActivity都要在AllActivityModules或AllFragmentModules中注册,否则会报错,详细见demo中MoreNutritionsActivity
- retrofit网络请求,module接口都写在这里,对应返回的是接口返回的数据结构
- mvp常用结构,view和presenter
- 页面
- widget目录,正常要放入module_ui中