RxJava2 / RxAndroid2操作符take
take操作获取一系列Observable输出结果的之前的数据作为最终输出,以后的不予处理,例如代码:
package zhangphil.app; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.Log; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.observers.DisposableObserver; import io.reactivex.schedulers.Schedulers; public class MainActivity extends AppCompatActivity { private final String TAG = getClass().getSimpleName(); private CompositeDisposable mCompositeDisposable = new CompositeDisposable(); @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); test(); } private void test() { DisposableObserver disposableObserver = new DisposableObserver<Integer>() { @Override public void onNext(Integer i) { Log.d(TAG, "#####开始#####"); Log.d(TAG + "数据", String.valueOf(i)); Log.d(TAG, "#####结束#####"); } @Override public void onComplete() { Log.d(TAG, "onComplete"); } @Override public void onError(Throwable e) { Log.e(TAG, e.toString(), e); } }; mCompositeDisposable.add( getObservable().take(6) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(disposableObserver)); } private Observable<Integer> getObservable() { return Observable.range(1, 10); } @Override protected void onDestroy() { super.onDestroy(); // 如果退出程序,就清除后台任务 mCompositeDisposable.clear(); } }
代码输出:
05-15 16:59:19.084 7024-7024/zhangphil.app D/MainActivity: #####开始##### 05-15 16:59:19.084 7024-7024/zhangphil.app D/MainActivity数据: 1 05-15 16:59:19.084 7024-7024/zhangphil.app D/MainActivity: #####结束##### 05-15 16:59:19.084 7024-7024/zhangphil.app D/MainActivity: #####开始##### 05-15 16:59:19.084 7024-7024/zhangphil.app D/MainActivity数据: 2 05-15 16:59:19.084 7024-7024/zhangphil.app D/MainActivity: #####结束##### 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity: #####开始##### 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity数据: 3 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity: #####结束##### 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity: #####开始##### 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity数据: 4 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity: #####结束##### 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity: #####开始##### 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity数据: 5 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity: #####结束##### 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity: #####开始##### 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity数据: 6 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity: #####结束##### 05-15 16:59:19.085 7024-7024/zhangphil.app D/MainActivity: onComplete
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RxJava2 / RxJava2操作符scan
RxJava2 / RxJava2操作符scan scan操作符将Observable的结果在BiFunction扫描一遍后交给Observer使用,scan最大的功用是在BiFunction里面的apply里面做一次计算,有条件、有筛选的输出最终结果,例如代码例子: package zhangphil.app; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.Log; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.functions.BiFunction; import io.rea...
- 下一篇
互联网企业安全高级指南3.6 需要自己发明安全机制吗
3.6 需要自己发明安全机制吗 1. 安全机制的含义 首先解释一下发明安全机制这句话的意思。安全机制包括:常见的对称和非对称加密算法,操作系统自带的RBAC基于角色的访问控制,自带的防火墙Netfilter,Android的基于appid隔离的机制,kernel支持的DEP(数据段执行保护),以及各种ASLR(地址空间随机映射),各种安全函数、服务器软件的安全选项,这些都属于已经存在的安全机制,注意我用的词是“已经存在”,而这个话题是针对是不是要在已有的安全机制上再去发明新的安全机制,比如三星手机的KNOX,就是在Android基础上自己造了个轮子。 2. 企业安全建设中的需求 企业安全的日常工作是不是也会面临自己去发明安全机制的需求?会,但是不常见。实际上,在日常中发生的绝大多数问题都属于对现有安全机制的理解有误、没有启用或没有正确使用
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8