Android RxAndroid和RxJava2在Kotlin中的使用

引用

1
2
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
implementation 'io.reactivex.rxjava2:rxjava:2.1.10'

Github地址

使用

延迟执行

Kotlin

1
2
3
Observable.timer(1000, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe { }

多线程

常用的方式是分线程中处理数据,主线程中使用数据生成页面

Kotlin

1
2
3
4
5
6
7
8
9
10
11
12
13
Observable
.create<List<TreeItemModel>> { source ->
var treeList = arrayListOf<TreeItemModel>()
source.onNext(treeList)
source.onComplete()
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ treeList ->
print(treeList.size)
}, { error ->
print(error.localizedMessage)
})