MVPCommonLib 实现快速搭建开发MVP APP

最近在 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 文件,我们就在这里面去做配置,这样方便之后修改一处全部更新。例如:
    MVPCommonLib 实现快速搭建开发MVP APP_第1张图片                                                            
    MVPCommonLib 实现快速搭建开发MVP APP_第2张图片
    ps: 关于图一中 SUPPORT_LIB_VERSION 的使用,可以参照上面“Module 依赖第三方”中 “Design库”,注意在使用 ${} 时外层必须是双引号("")

  2. 由于使用到第三方库“RecyclerView 万能适配器”,需要在 project 的 build.gradle 中添加 “maven{url ‘https://jitpack.io’}”
    MVPCommonLib 实现快速搭建开发MVP APP_第3张图片

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


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

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

你可能感兴趣的:(android)