Skip to content

wanpg/RxData

Repository files navigation

RxData

RxJava实现的像LiveData一样有生命周期感知的可被观察的对象

引用方式

dependencies {
    ...
    implementation 'com.github.wanpg:rxdata:0.0.4-SNAPSHOT'
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation "io.reactivex.rxjava2:rxjava:2.1.12"
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
}

使用方式

1. 定义一个数据

类似ObservableLiveData

var dataRx = RxData<String>()
2. 设置或者获取数据
// 设置数据,支持Null
dataRx.set("Hello RxData")
// 获取数据
var str = dataRx.get()
3. 设置Rx订阅

​ 为了方便看清楚返回类型,没用lambda语法。onNext方法将会返回一个DataWrap的数据包装类,可以判断数据是否为空

dataRx.observable(lifecycleowner)
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(object : Consumer<RxData.DataWrap<String>> {
        override fun accept(t: RxData.DataWrap<String>?) {
            if (t!!.isNull) {
                System.out.println("获取了一个Null值")
            } else {
                val str = t.get()
            }
        }
    })

About

RxJava实现的像LiveData一样有生命周期感知的可被观察的对象

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published