一个标准的MVP+Kotlin项目框架(一)

时间:2024-04-14 07:43:09

介绍

这是最近做项目用到的一个框架,我认为比较好,所以分享出来

项目组成

1. 主结构 MVP+Rxjava2+Dagger2+retrofit

主要用于网络请求,数据封装这两个过程

2.eventbus、BRV、utilcode、gson(主要说一下BRV和utilcode)

  1. BRVAH:万能适配器。用于项目开发简单方便,设置列表动画,添加headerView和footerView,空页面,一般列表,折叠列表,多类型列表都非常适用。建议去github跑demo看看效果
  2. utilcode:安卓开发最常见的工具类,如果熟练对于简单便捷的开发项目有很大作用,里面封装了安卓各种常见方法,像时间格式转换,md5加密等千种常见方法,点击进入 utilcode_README

3.库module_ui

建议将项目中与UI相关的库和xml文件放入到这个库中,用于公共UI组件。将会在下一篇介绍更标准的组件化mvp+kotlin架构

主项目目录介绍

一个标准的MVP+Kotlin项目框架(一)

  1. 基类,MVP必须组成结构
  2. kotlin拓展函数,这也是kotlin写项目的方便处之一,在这里面简短了常用方法,增加了开发的效率,我们不用为页面跳转或或设置颜色等多写代码,dp和px转化甚至几个字母就能实现,自行查看文件不做过多描述。RxExtentions相关的拓展函数在网络请求中使用,对应页面的presenter中使用,根据后台所定的基本数据格式来,这里处理了异常数据,可以选择有或无进度条的请求,处理之后的数据丢给了presenter
  3. RxExtentions拓展函数里所需的实现类
  4. dagger2相关,注意每写一个activity或fragment,只要继承了BaseActivity都要在AllActivityModules或AllFragmentModules中注册,否则会报错,详细见demo中MoreNutritionsActivity
  5. retrofit网络请求,module接口都写在这里,对应返回的是接口返回的数据结构
  6. mvp常用结构,view和presenter
  7. 页面
  8. widget目录,正常要放入module_ui中