博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RXJAVA之创建被观察者
阅读量:4968 次
发布时间:2019-06-12

本文共 1484 字,大约阅读时间需要 4 分钟。

  RXJava中提供了多种创建数据源的方式

使用create方法

Observable
observable = Observable.create(new ObservableOnSubscribe
(){ @Override public void subscribe(ObservableEmitter
arg0) throws Exception { arg0.onNext("123"); arg0.onComplete(); }});

  通过create创建Observable,通过ObservableEmitter来发送消息。

使用fromArray方法:

Observable
observable = Observable.fromArray("123","456");

   通过fromArray快捷创建Observable,其会把参数通过onNext发送,最后执行onComplete方法。

使用just方法:

Observable
observable = Observable.just("123", "456");

  通过just快捷创建Observable,其效果与fromArray一样,底层通过fromArray实现。

使用empty方法:

  创建一个什么都不做直接通知完成的Observable。

使用error方法:

  创建一个什么都不做直接通知错误的Observable。

使用timer方法:

  创建一个在给定的延时之后发射数据项为0的Observable<Long>。

Observable
observable = Observable.timer(5, TimeUnit.SECONDS);

使用interval方法:

  创建一个按照给定的时间间隔发射从0开始的整数序列的Observable<Long>。

Observable
observable = Observable.interval(1, TimeUnit.SECONDS);

使用range方法:

  创建一个发射指定范围的整数序列的Observable<Integer>

Observable
observable = Observable.range(1, 10);

使用defer方法:

Observable
observable = Observable.defer(new Callable
>(){ @Override public ObservableSource
call() throws Exception { return Observable.just("123", "456"); }});

  在订阅时通过callable创建一个Observable,为每个订阅的Observer创建一个单独的Observable。

转载于:https://www.cnblogs.com/zhangwanhua/p/7591086.html

你可能感兴趣的文章
利用sed把一行的文本文件改成每句一行
查看>>
Android应用开发:核心技术解析与最佳实践pdf
查看>>
python——爬虫
查看>>
孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库
查看>>
求一个字符串中最长回文子串的长度(承接上一个题目)
查看>>
简单权限管理系统原理浅析
查看>>
springIOC第一个课堂案例的实现
查看>>
求输入成绩的平均分
查看>>
php PDO (转载)
查看>>
wordpress自动截取文章摘要代码
查看>>
[置顶] 一名优秀的程序设计师是如何管理知识的?
查看>>
scanf和gets
查看>>
highcharts 图表实例
查看>>
ubuntu下如何查看用户登录及系统授权相关信息
查看>>
秋季学期学习总结
查看>>
SpringBoot 优化内嵌的Tomcat
查看>>
【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
查看>>
highcharts曲线图
查看>>
extjs动态改变样式
查看>>
PL/SQL Developer 查询的数据有乱码或者where 字段名=字段值 查不出来数据
查看>>