Skip to content

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>> {
overridefunaccept(t:RxData.DataWrap<String>?) {
if (t!!.isNull) {
System.out.println("获取了一个Null值")
} else {
val str = t.get()
}
}
})

About

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

Topics

Resources

Stars

11 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages