Skip to content

MycroftWong/Lib

Repository files navigation

Lib

这是个人总结的lib包,并且快捷实现WanAndroid客户端

dependency

  • ViewModel
  • AndroidUtilCode
  • GSON
  • OkHttp
  • Okio
  • Retrofit
  • RxJava3
  • Glide
  • BaseRecyclerViewAdapterHelper
  • SmartRefreshLayout
  • RxPermissions
  • ImmersionBar
  • PrettyTime
  • FormattedEditText

添加的功能

  1. 封装了AppCompatActivity, Fragment, 更有条理的实现
  2. 简化了retrofit的使用,同时解耦了retrofit, okhttp的实现
  3. 添加了glideokhttp``module的实现,不使用官方实现,重用了okhttp
  4. 添加了BaseQuickAdapter工具类,避免内存泄漏(在Fragment中使用时出现)
  5. 添加了RxJava的工具类,避免内存泄漏
  6. 实现了页面状态加载,刚进入页面没有数据时实现加载状态

使用方式

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

dependencies {
    implementation 'com.github.MycroftWong:lib:v1.9'
}


// 使用了rxjava3, 在app build.gradle中添加
android {
    ...
    configurations {
        compile.exclude group: 'io.reactivex.rxjava2', module: 'rxjava'
        all {
            resolutionStrategy {
                eachDependency { DependencyResolveDetails details ->
                    if (details.requested.group == 'io.reactivex.rxjava3' &&
                            details.requested.name == 'rxjava') {
                        details.useVersion '3.0.0-RC1'
                        details.because 'Unified the version of RxJava3'
                    }
                }
            }
        }
    }
}

展望

ViewModel的更有利于配合ActivityFragment的生命周期使用,极大程度上避免了内存泄漏,在考虑封装使用,减少RxJava的使用

ChangeLog

  • 1.9.1 更新依赖库,删除过时代码