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负责发出一系列事件 ...
随机推荐
- app_error_weak.c, 108, Mesh assert at 0x0002EFFE (:0)
在调试light_switch_server_nrf52840_xxAA_s140_7.0.1的时候出现<t: 10664>, app_error_weak.c, 108, M ...
- PHP、JS一些用法
PHP去除小数点后面的0,保留非零 floatval($num) PHP转数组var d = eval(数组d); PHP字符串转数组 $row['0'] = explode(";" ...
- Java多线程_Future设计模式
Future模式的核心:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑. Future模式有点类似于商品订单.在网上购物时,提交订单后,在收货的这段时间里无需一直在家 ...
- .Net MongoDB批量修改集合中子集合的字段
环境:.Net Core 3.1 (需要导入.Net MongoDB的驱动) 模型 /// <summary> /// 收藏 /// </summary> public cla ...
- PAT甲级真题 A1025 PAT Ranking
题目概述:Programming Ability Test (PAT) is organized by the College of Computer Science and Technology o ...
- SpringMVC中前端Form表单提交后跳转不过去的问题
今天晚上打算谢谢Spring整合这个内容,写的差不多之后运行 出现了各种问题 逐一排查 首先有一个(MyEclipse10) 一: class path resource [spring-mvc.xm ...
- 推荐一款万能抓包神器:Fiddler Everywhere
搞IT技术的同行,相信没有几个人是不会抓包这项技能的(如果很不幸你中枪了,那希望这篇文章给你一些动力),市面上的抓包工具也有很多,常用的有:Charles.Fiddler.Burpsuite.Wire ...
- 常用Oracle SQL集锦
常用dml和query开并行 --开并行 ALTER SESSION FORCE PARALLEL DML PARALLEL 16; ALTER SESSION FORCE PARALLEL QUER ...
- samba使用过程中遇到的问题
1 环境说明 Linux系统版本:Linux version 2.6.32-431.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (g ...
- MySql 错误:In aggregated query without GROUP BY, expression #1 of SELECT list contains....
前段时间做sql注入的时候 使用group_concat时,出现标题上的错误.经查阅一位大佬的博客,成功解决!故写此博文! 当mysql的sql_mode是only_full_group_by的时候 ...