RXJAVA之创建被观察者
RXJava中提供了多种创建数据源的方式
使用create方法
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>(){
@Override
public void subscribe(ObservableEmitter<String> arg0) throws Exception {
arg0.onNext("123");
arg0.onComplete();
}});
通过create创建Observable,通过ObservableEmitter来发送消息。
使用fromArray方法:
Observable<String> observable = Observable.fromArray("123","456");
通过fromArray快捷创建Observable,其会把参数通过onNext发送,最后执行onComplete方法。
使用just方法:
Observable<String> observable = Observable.just("123", "456");
通过just快捷创建Observable,其效果与fromArray一样,底层通过fromArray实现。
使用empty方法:
创建一个什么都不做直接通知完成的Observable。
使用error方法:
创建一个什么都不做直接通知错误的Observable。
使用timer方法:
创建一个在给定的延时之后发射数据项为0的Observable<Long>。
Observable<Long> observable = Observable.timer(5, TimeUnit.SECONDS);
使用interval方法:
创建一个按照给定的时间间隔发射从0开始的整数序列的Observable<Long>。
Observable<Long> observable = Observable.interval(1, TimeUnit.SECONDS);
使用range方法:
创建一个发射指定范围的整数序列的Observable<Integer>
Observable<Integer> observable = Observable.range(1, 10);
使用defer方法:
Observable<String> observable = Observable.defer(new Callable<ObservableSource<String>>(){
@Override
public ObservableSource<String> call() throws Exception {
return Observable.just("123", "456");
}});
在订阅时通过callable创建一个Observable,为每个订阅的Observer创建一个单独的Observable。
RXJAVA之创建被观察者的更多相关文章
- RxJava【创建】操作符 create just from defer timer interval MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 使用Rxjava自己创建RxBus
https://piercezaifman.com/how-to-make-an-event-bus-with-rxjava-and-rxandroid/ https://lingyunzhu.git ...
- RxJava 学习笔记(一)
最近Android6.0的权限问题,要把之前的APP进行改造,用到了RxPermission框架!之前了解过RXJAVA,但是由于之前项目一直没有使用这个框架,所以也就一直搁置了.正好Rxpermis ...
- RxJava 和 RxAndroid 一 (基础)
1.RxJava 项目地址 https://github.com/ReactiveX/RxJava 2.RxAndroid 项目地址 https://github.com/ReactiveX/R ...
- RxJava_ _学了下RxJava
之前就知道有RxJava这玩意,知道这玩意很屌,不过也就止于看看标题,看几段介绍的程度(懒癌害人不浅).这周心血来潮,抽空把之前收藏的 扔物线 大神写的RxJava入门文章看了. http://gan ...
- 一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库 RxJava,相当好
https://github.com/ReactiveX/RxJava https://github.com/ReactiveX/RxAndroid RX (Reactive Extensions,响 ...
- RxJava开发精要7 – Schedulers-解决Android主线程问题
原文出自<RxJava Essentials> 原文作者 : Ivan Morgillo 译文出自 : 开发技术前线 www.devtf.cn 转载声明: 本译文已授权开发者头条享有独家转 ...
- RxJava开发精要3-向响应式世界问好
原文出自<RxJava Essentials> 原文作者 : Ivan Morgillo 译文出自 : 开发技术前线 www.devtf.cn 转载声明: 本译文已授权开发者头条享有独家转 ...
- 【Android - 框架】之RxJava的使用
RxJava算是最新最常用的,也是程序员们最喜欢的框架之一了. RxJava的核心由Observable(被观察者,事件源)和Subscriber(观察者)构成,Observable负责发出一系列事件 ...
随机推荐
- async + await 异步
先执行A在执行B再执行.then里面的AAA() { XXXXX一堆代码 this.BBB().then(()=>{ 其他代码 })}, async BBB(){ let res = await ...
- Could not create an acl object: Role '16'
解决方案: (1) 用rm命令一个一个的清除var/cache, var/page_cache, var/di, generated/文件夹下的所有文件 (2) run setup:upgradeco ...
- 在Linux命令行中使用计算器的5个命令
大家好,我是良许. 在使用 Linux 时,我们有时会需要做一些计算,那么我们就可能需要用到计算器.在 Linux 命令行里,有许多计算器工具,这些命令行计算器可以让我们执行科学计算.财务计算或者一些 ...
- 【论文总结】MapReduce论文
摘要: MR是啥:编程模型,用户只需编写Map,Reduce两个函数,系统完成分布式计算 MR系统是啥:在大量普通计算机上实现并行化计算,系统只关心如何分割数据.大规模集群的调度.集群容错.集群通信 ...
- latex:公式中的文字
公式环境中的说明文字应置于\mbox命令中.如果已经调用了数学工具宏包或者公式宏包,可改为选用一下3条功能更强的文本命令将简短文字插入公式中. \intertext{文本} 由amsmath宏包提供, ...
- 玩转Spring——Spring IOC/DI
什么是IOCioc :Inversion of Control,即控制反转. 它不是一种技术,而是一种设计思想,即java程序中获取对象的方式发生反转,由最初的new方式创建,转变成由第三方框架创建. ...
- 赫然:怎样学习seo优化技术
http://www.wocaoseo.com/thread-79-1-1.html 今天的题目是学习SEO起步阶段每个人都要问的.SEO怎么学?如何进阶SEO技能?都包括哪些知识?笔者也自己总结过一 ...
- .NET Core 中导入导出Excel
操作Excel是一个比较常见的业务场景,本篇将使用EPPlus简单演示一个导入导出的示例. EPPlus开源地址:https://github.com/EPPlusSoftware/EPPlus 在项 ...
- springBoot整合spring security+JWT实现单点登录与权限管理--筑基中期
写在前面 在前一篇文章当中,我们介绍了springBoot整合spring security单体应用版,在这篇文章当中,我将介绍springBoot整合spring secury+JWT实现单点登录与 ...
- webpack使用优化(基本篇
为什么要使用Webpack 与react一类模块化开发的框架搭配着用比较好. 属于配置型的构建工具,比较用容易上手,160行代码可大致实现gulp400行才能实现的功能. webpack使用内存来对构 ...