美文网首页
MVPCommonLib 实现快速搭建开发MVP APP

MVPCommonLib 实现快速搭建开发MVP APP

作者: ByteStefan | 来源:发表于2019-02-26 22:52 被阅读0次

    最近在 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

    相关文章

      网友评论

          本文标题:MVPCommonLib 实现快速搭建开发MVP APP

          本文链接:https://www.haomeiwen.com/subject/pnktuqtx.html