RxJava——RxJava应用案例demo
来源:互联网 发布:淘宝活动报名网站 编辑:程序博客网 时间:2024/06/05 10:50
这一节我们讲RxJava的应用场景,并通过一个demo来演示这种使用场景。
RxJava最常见的使用场景之一,是在后台线程中运行一些耗时的操作,比如复杂计算、网络请求等,并把它们运行的最终结果或者错误显示在UI线程上。
下面的demo展示了这种应用场景:
import io.reactivex.schedulers.Schedulers;Flowable.fromCallable(() -> { Thread.sleep(1000); // 模拟耗时计算 return "Done";}) .subscribeOn(Schedulers.io()) .observeOn(Schedulers.single()) .subscribe(System.out::println, Throwable::printStackTrace);Thread.sleep(2000); // <--- 等待上面的Flowable运行完毕
上面的这种链式风格的方法,叫做fluent api,类似build设计模式。然而,RxJava的Reactive类型是不可变的,这就意味着,每个方法都返回了一个新的Flowable,新的Flowable增加了新的行为。为了说明这个问题,这个demo可以重写为下面这样:
Flowable<String> source = Flowable.fromCallable(() -> { Thread.sleep(1000); // 模拟耗时计算 return "Done";});Flowable<String> runBackground = source.subscribeOn(Schedulers.io());Flowable<String> showForeground = runBackground.observeOn(Schedulers.single());showForeground.subscribe(System.out::println, Throwable::printStackTrace);Thread.sleep(2000);
本节先讲到这里,下一节将详细讲解这个demo。
阅读全文
0 0
- RxJava——RxJava应用案例demo
- RxJava实际应用案例
- Rxjava Demo
- RxJava学习(一)——RxJava入门实践与上手Demo
- RxJava 学习书籍——RxJava Essentials
- RxJava系列—(一)RxJava基础
- RxJava+Retrofit框架Demo
- Rxjava(Subject)-AsyncSubject--demo
- Rxjava(Subject)-BehaviorSubject--demo
- Rxjava(Subject)-PublishSubject--demo
- Rxjava(Subject)-ReplaySubject--demo
- RxJava Demo续
- rxjava+retrofit简单demo
- Rxjava基本demo
- RxJava——简介
- Rxjava分析—Subject
- Rxjava分析—Subject
- Rxjava分析—Subject
- jQuery学习之三---工具
- Java final关键字的理解
- 机器学习-决策树
- Python vim自动补全括号、引号等配置
- 2017-11-06-gitee-使用svn同步码云中的项目
- RxJava——RxJava应用案例demo
- 第19篇
- MySQL自动补全
- reactNative ios真机测试的时候,死活都不行 Signing for "XXXXXX" requires a development team. Select a development
- BFC与IFC
- 异步请求与同步请求之间的转换
- 2017-11-06-linux-解决vi中backspace无法删除字符
- Applet 类
- 发现小服务器被入侵了 cpu长期100%