Rxjava创造操作符
2021/6/29 14:21:38
本文主要是介绍Rxjava创造操作符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
rxjava 操作符kotlin 语法练习
参考 :https://github.com/ReactiveX/RxJava/
依赖
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' implementation 'io.reactivex.rxjava2:rxjava:2.2.9'
经常会使用的固定式语句
1、异步订阅观察者 (切换到子线程)
.subscribeOn(Schedulers.io())
2、排放到主线程执行
.observeOn(AndroidSchedulers.mainThread())
3、订阅一个可被观察资源
.subscribe()
Observable的创建操作符
1、create 创建新的Observable实例
Observable.create<Any> { it.onNext("创建一个可被观察的对象") }.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe { println(it) }
2、just 发出每个项目的可观察对象
Observable.just("1", "2", 5, 8, Any()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe { println(it.toString()) }
3、dafer ObservableSource工厂函数 ,返回一个Observable,该Observable调用一个ObservableSource工厂来为每个新的Observer创建一个ObservableSource
Observable.defer(object : Callable<Observable<String>> { override fun call(): Observable<String> { return Observable.create { it.onNext("haodada") } } }).subscribe { pprintln(it.toString()) }
4、fromArray 一个发出源数组中的每个项的可观察对象
Observable.fromArray("1", 5, 9, "5") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe { println(it.toString()) }
5、fromFuture 将{ Future}转换为ObservableSource。
var task = FutureTask(Callable<String> { "task ${Thread.currentThread().id}" }) Observable.fromFuture(task) .subscribe({ s: String? -> pprintln(" onNext : ${s}") }, { o: Throwable? -> pprintln(" one rror : ${o}") }, { pprintln(" onComplete!!") }, { disposable: Disposable? -> pprintln(" onSubscribe!!") task.run() })
6、fromIterable 将{ 集合}转换为ObservableSource。
var array = arrayListOf(1, 2, 2, 5, 6, 6, 9) Observable.fromIterable(array) .subscribe { pprintln(it.toString()) }
7、range 它发出指定范围内的一系列整数
Observable.range(200,1000).subscribe { pprintln(it.toString()) }
这篇关于Rxjava创造操作符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行