RXJava 创建操作符
2016-09-29 14:59
288 查看
RXJava操作符的创建
just( ) — 将一个或多个对象转换成发射这个或这些对象的一个Observable
from( ) — 将一个Iterable, 一个Future, 或者一个数组转换成一个Observable
repeat( ) — 创建一个重复发射指定数据或数据序列的Observable
repeatWhen( ) — 创建一个重复发射指定数据或数据序列的Observable,它依赖于另一个Observable发射的数据
create( ) — 使用一个函数从头创建一个Observable
defer( ) — 只有当订阅者订阅才创建Observable;为每个订阅创建一个新的Observable
range( ) — 创建一个发射指定范围的整数序列的Observable
interval( ) — 创建一个按照给定的时间间隔发射整数序列的Observable
timer( ) — 创建一个在给定的延时之后发射单个数据的Observable
empty( ) — 创建一个什么都不做直接通知完成的Observable
error( ) — 创建一个什么都不做直接通知错误的Observable
never( ) — 创建一个不发射任何数据的Observable
create
结果
just:(2-9个参数)
结果
from
结果
create( )
just( ) — 将一个或多个对象转换成发射这个或这些对象的一个Observable
from( ) — 将一个Iterable, 一个Future, 或者一个数组转换成一个Observable
repeat( ) — 创建一个重复发射指定数据或数据序列的Observable
repeatWhen( ) — 创建一个重复发射指定数据或数据序列的Observable,它依赖于另一个Observable发射的数据
create( ) — 使用一个函数从头创建一个Observable
defer( ) — 只有当订阅者订阅才创建Observable;为每个订阅创建一个新的Observable
range( ) — 创建一个发射指定范围的整数序列的Observable
interval( ) — 创建一个按照给定的时间间隔发射整数序列的Observable
timer( ) — 创建一个在给定的延时之后发射单个数据的Observable
empty( ) — 创建一个什么都不做直接通知完成的Observable
error( ) — 创建一个什么都不做直接通知错误的Observable
never( ) — 创建一个不发射任何数据的Observable
create
Observable.create(new Observable.OnSubscribe<Integer>() { @Override public void call(Subscriber<? super Integer> observer) { try { if (!observer.isUnsubscribed()) { for (int i = 1; i < 5; i++) { observer.onNext(i); } observer.onCompleted(); } } catch (Exception e) { observer.onError(e); } } } ).subscribe(new Subscriber<Integer>() { @Override public void onNext(Integer item) { System.out.println("Next: " + item); } @Override public void onError(Throwable error) { System.err.println("Error: " + error.getMessage()); } @Override public void onCompleted() { System.out.println("Sequence complete."); } });
结果
Next: 1 Next: 2 Next: 3 Next: 4 Sequence complete.
just:(2-9个参数)
Observable.just(1, 2, 3) .subscribe(new Subscriber<Integer>() { @Override public void onNext(Integer item) { System.out.println("Next: " + item); } @Override public void onError(Throwable error) { System.err.println("Error: " + error.getMessage()); } @Override public void onCompleted() { System.out.println("Sequence complete."); } });
结果
Next: 1 Next: 2 Next: 3 Sequence complete.
from
List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); Observable.just(list).subscribe(new Subscriber<List<String>>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(List<String> strings) { } }); Observable.from(list).subscribe(new Subscriber<String>() { @Override public void onCompleted() { Log.e("--------onCompleted ", "onCompleted"); } @Override public void onError(Throwable e) { } @Override public void onNext(String s) { Log.e("--------onNext ", "s : " + s); } });
结果
04-22 17:45:22.092 12883-12883/com.fernandocejas.android10.sample.presentation E/--------onNext﹕ s : a 04-22 17:45:22.092 12883-12883/com.fernandocejas.android10.sample.presentation E/--------onNext﹕ s : b 04-22 17:45:22.092 12883-12883/com.fernandocejas.android10.sample.presentation E/--------onNext﹕ s : c 04-22 17:45:22.092 12883-12883/com.fernandocejas.android10.sample.presentation E/--------onCompleted﹕ onCompleted
create( )
相关文章推荐
- Android RxJava创建操作符Timer的方法
- RxJava 操作符之创建类操作符
- RxJava操作符之创建操作符
- RxJava的学习之创建操作符
- RxJava 创建操作符 timer与interval
- RxJava系列3:RxJava操作符-创建操作符
- Android RxJava 创建操作符Timer
- RxJava学习基础与创建操作符
- RxJava 创建操作符create
- RxJava 创建操作符form
- Android RxJava操作符详解系列: 创建操作符
- RxJava操作符之创建操作符(三)
- Rxjava的Observable创建操作符介绍
- RxJava操作符详解-创建操作符
- RxJava 学习笔记(五) --- Creating 创建操作符
- Android RxJava创建操作符Interval
- RxJava 创建操作符 just
- RxJava创建类型操作符
- RxJava操作符----RxJava Creating Observables(创建操作符)
- Android RxJava操作符详解系列: 创建操作符