码迷,mamicode.com
首页 > 编程语言 > 详细

rxJava reactivex.Flowable使用

时间:2017-10-22 22:02:37      阅读:663      评论:0      收藏:0      [点我收藏+]

标签:taf   schedule   scribe   int   return   put   inf   next   事件   

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

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使用

标签:taf   schedule   scribe   int   return   put   inf   next   事件   

原文地址:http://www.cnblogs.com/ztzf-xd/p/7710724.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!