MVPCommonLib 实现快速搭建开发MVP APP

2019-02-26  本文已影响0人  ByteStefan

最近在 github 上上传了我的第一个小项目 MVPCommonLib,正确的说应该是 Android Module。该 Module 是通过 Kotlin 开发,包含搭建 MVP+Retrofit+RxJava 需要的基础类以及日常开发中的部分工具类,希望能帮助大家更加快速的搭建 APP。接下来让我们看一下该 Module 中都有哪些东西吧。

Module 层级结构

|— com.zebar.stefan_shan.commonlib
|— — base    // 基础包
|— — — ActivityManager   // Activity 管理类
|— — — AppConstant        // 全局静态数据(如:基础域名等)
|— — — BaseActivity        // 基础 Activity 类
|— — — BaseMVPActivity    // MVP 架构中基础 Activity 类
|— — — BaseFragment    // 基础 Fragment 类
|— — — BaseMVPFragment    // MVP 架构中基础 Fragment 类
|— — — BasePresenter    // MVP 架构中基础 Presenter 类
|— — http    // 网络请求基础包
|— — — ModuleCallBack    // Module 层回调接口
|— — — ObserverImp    // 数据结果预处理类
|— — — RetrofitManager    // Retrofit 管理类
|— — — SubscribeManager    // 订阅关系管理类
|— — util    // 工具包
|— — — ActivityKTX    // Activity 跳转工具类
|— — — BitmapUtil    // 图片工具类
|— — — ConverKTX    // 转换工具类
|— — — DialogUtil    // Dialog 工具类
|— — — EncruptionUtil    // 加密工具类
|— — — LogUtil    // Log 日志工具类
|— — — SharedPreferenceUtil    // SP工具类
|— — — ToastUtil    // Toast 工具类
|— — view    // 公共视图包
|— — — LoadingLayout    //加载状态工具类

Module 依赖第三方

// Design 库
api "com.android.support:design:${SUPPORT_LIB_VERSION}"
api 'com.android.support.constraint:constraint-layout:1.1.3'

// RecyclerVIew 刷新头
api 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.5.1'

// RecyclerView 万能适配器
api 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.42'
api "com.android.support:recyclerview-v7:${SUPPORT_LIB_VERSION}"

// Eventbus
api 'org.greenrobot:eventbus:3.1.1'

// Gson
api 'com.google.code.gson:gson:2.8.5'

// Retrofit & adapter & converter & logging-interceptor
api 'com.squareup.retrofit2:retrofit:2.4.0'
api 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
api 'com.squareup.retrofit2:converter-gson:2.4.0'
api 'com.squareup.okhttp3:logging-interceptor:3.8.1'

// RxJava & RxAndroid
api 'io.reactivex.rxjava2:rxjava:2.2.1'
api 'io.reactivex.rxjava2:rxandroid:2.1.0'

// Glide
api 'com.github.bumptech.glide:glide:4.8.0'

前面我们大体了解了 Module 结构,接下来让我们看一下导入使用需要注意哪些。

  1. 统一项目中的配置版本。在 project 层级中可以发现有一个 gradle.properties 文件,我们就在这里面去做配置,这样方便之后修改一处全部更新。例如:

    图一 定义变量
    图二 变量使用
    ps: 关于图一中 SUPPORT_LIB_VERSION 的使用,可以参照上面“Module 依赖第三方”中 “Design库”,注意在使用 ${} 时外层必须是双引号("")
  2. 由于使用到第三方库“RecyclerView 万能适配器”,需要在 project 的 build.gradle 中添加 “maven{url 'https://jitpack.io'}”

  3. 关于 ActivityKTX 和 ConverKTX 两个工具类,可能会有不太清楚怎么使用的,这里做一个简单的例子



到这里该 Module 基本上算是介绍完毕了,如果您喜欢希望能赏一个 star 或者有什么意见欢迎提交 issues。至于工具类的使用请看代码注释,关于如何真正导入使用,我会再之后单独写一篇实战文章,方便大家结合使用。

特别鸣谢,同事张昕的技术支持,以及上述引用到的第三方库开源者。同时也为大家提供一个 Android 工具类大全项目 — AndroidUtilCode

上一篇下一篇

猜你喜欢

热点阅读