Android|Android RxJava 2.x入门例子详解(二)
快捷操作符
Observable的创建方式:
just()
创建一个Observable,并自动调用onNext()发射数据,可发射一个或一组对象。
Observable.just(1,2,3).subscribe(new Consumer() {
@Override
public void accept(Integer integer) throws Exception {
Log.d(TAG,"接收到:"+integer);
}
});
defer()
当观察者订阅时,才创建Observable,并且对每个观察者创建都是一个新的Observable。
Observable.defer(new Callable>() {
@Override
public ObservableSource> call() throws Exception {
return Observable.just("hello");
}
}).subscribe(new Consumer
fromIterable()
创建一个Observable遍历集合,发送每个item。相当于多次回调onNext()方法,每次传入一个item。
List list = new ArrayList();
for(int i =0;
i<10;
i++){
list.add("Hello"+i);
}
Observable observable = Observable.fromIterable(list);
Consumer consumer = new Consumer() {
@Override
public void accept(String s) throws Exception {
Log.d(TAG,"接收到:"+s);
}
};
observable.subscribe(consumer);
interval( )
创建一个Observable,在给定的时间间隔内发出一系列整数,可用作定时器。
//按照固定2秒一次调用onNext()方法
Observable.interval(2, TimeUnit.SECONDS).subscribe(new Consumer() {
@Override
public void accept(Long aLong) throws Exception {
Log.d(TAG,""+aLong);
}
});
range( )
创建一个Observable,发射指定范围的整数序列。
//发射1到20的数,即调用20次nNext()方法,依次传入1-20数字
Observable.range(1,20).subscribe(new Consumer() {
@Override
public void accept(Integer integer) throws Exception {
Log.d(TAG,""+integer);
}
});
timer( )
创建一个Observable,延迟指定时间后发射一个指定的值
//2秒后发射
Observable.timer(2, TimeUnit.SECONDS).subscribe(new Consumer() {
@Override
public void accept(Long aLong) throws Exception {
Log.d(TAG,""+aLong);
}
});
repeat( )
创建一个Observable,重复调用onNext()事件。
//循环发射123
Observable.just(123).repeat().subscribe(new Consumer() {
@Override
public void accept(Integer integer) throws Exception {
Log.d(TAG,""+integer);
}
});
【Android|Android RxJava 2.x入门例子详解(二)】更多操作符可参考官方文档:
http://reactivex.io/documentation/operators.html
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)
- Android|Android install 多个设备时指定设备