rxJava reactivex.Flowable使用

Posted Mr.xd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rxJava reactivex.Flowable使用相关的知识,希望对你有一定的参考价值。

/**
* 加载本地资源并显示控件上,可用于任何比较耗时的请求
*/

private void setImageResource(int resourceId) {
Flowable.just(resourceId)
.subscribeOn(Schedulers.io())
// 参数类型 返回值
.map(new Function<Integer, Bitmap>() {
@Override
public Bitmap apply(@NonNull Integer integer) throws Exception {
// return BitmapUtils.createCircleImage(BitmapFactory.decodeResource(MainActivity.this.getResources(), integer));;
return null;
}
})
// 事件订阅 结果返回
.subscribe(new Consumer<Bitmap>() {
@Override
public void accept(@NonNull Bitmap bitmap) throws Exception {

}
});
}

/**
* 没有请求参数的耗时操作
*/
public void create() {
Flowable.create(new FlowableOnSubscribe<Integer>() {
@Override
public void subscribe(FlowableEmitter<Integer> e) throws Exception {
//要执行的事件
e.onNext(GriddingDatabase.getInstance().problemTypeDao().getSize());
e.onComplete();
}
}, BackpressureStrategy.ERROR)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.subscribe(new Consumer<Integer>() {
@Override
public void accept(@NonNull Integer integer) throws Exception {

}
});
}

/**
* 遍历list 提取某一条件的bean
*/
private void list(List<StaffInfo> staffInfoList) {
Flowable.fromIterable(staffInfoList)
.filter(new Predicate<StaffInfo>() {
@Override
public boolean test(@NonNull StaffInfo staffInfo) throws Exception {
return staffInfo.isChecked();
}
}).subscribe(new Consumer<StaffInfo>() {
@Override
public void accept(@NonNull StaffInfo staffInfo) throws Exception {

}
});
}

/**
*遍历list
*/
private void forList(List<StaffInfo> staffInfoList) {
Flowable.just(staffInfoList)
.flatMap(new Function<List<StaffInfo>, Publisher<StaffInfo>>() {
@Override
public Publisher<StaffInfo> apply(@NonNull List<StaffInfo> staffInfoList) throws Exception {
return Flowable.fromIterable(staffInfoList);
}
})
.subscribe(new Consumer<StaffInfo>() {
@Override
public void accept(@NonNull StaffInfo staffInfo) throws Exception {

}
});
}

















































































以上是关于rxJava reactivex.Flowable使用的主要内容,如果未能解决你的问题,请参考以下文章

RxJava系列6(从微观角度解读RxJava源码)

RxJava使用详解

Android RxJava使用介绍 RxJava的操作符

RxJava核心思想(看懂再学RxJava)

Rxjava 整理(未完)

深入浅出RxJava