RXJava——创建 Observable
2016-06-27 18:22
375 查看
Observable 即被观察者,它决定什么时候触发事件以及触发怎样的事件。 RxJava 使用
可以看到,这里传入了一个
上面
create()方法来创建一个 Observable ,并为它定义事件触发规则:
Observable observable = Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { subscriber.onNext("Hello"); subscriber.onNext("Hi"); subscriber.onNext("Aloha"); subscriber.onCompleted(); } });
可以看到,这里传入了一个
OnSubscribe对象作为参数。
OnSubscribe会被存储在返回的
Observable对象中,它的作用相当于一个计划表,当
Observable被订阅的时候,
OnSubscribe的
call()方法会自动被调用,事件序列就会依照设定依次触发(对于上面的代码,就是观察者
Subscriber将会被调用三次
onNext()和一次
onCompleted())。这样,由被观察者调用了观察者的回调方法,就实现了由被观察者向观察者的事件传递,即观察者模式。
create()方法是 RxJava 最基本的创造事件序列的方法。基于这个方法, RxJava 还提供了一些方法用来快捷创建事件队列,例如:
just(T...): 将传入的参数依次发送出来。
Observable observable = Observable.just("Hello", "Hi", "Aloha"); // 将会依次调用: // onNext("Hello"); // onNext("Hi"); // onNext("Aloha"); // onCompleted();
from(T[])/
from(Iterable<? extends T>): 将传入的数组或
Iterable拆分成具体对象后,依次发送出来。
String[] words = {"Hello", "Hi", "Aloha"};Observable observable = Observable.from(words);
// 将会依次调用:
// onNext("Hello");
// onNext("Hi");
// onNext("Aloha");
// onCompleted();
上面
just(T...)的例子和
from(T[])的例子,都和之前的
create(OnSubscribe)的例子是等价的。
相关文章推荐
- 【持久层】java程序猿的JDBC知识点
- RxJava——创建 Observer
- SpringBoot入门系列:第七篇 Spring Boot的测试
- eclipse自动调整代码格式
- 新版本eclipse不支持旧版本的eclipse插件(Classpath Helper)
- SVN eclipse插件错误
- javaweb学习总结(十八)——JSP属性范围
- ActiveMq--学习日记
- Struts配置文件之web.xml
- JavaWeb学习总结(十七)——JSP中的九个内置对象
- SpringMVC日期绑定
- 008——JavaMail使用封装的JavaMail发送邮件
- javaweb学习总结(十六)——JSP指令
- ExecutorService中submit和execute的区别
- Java高并发(一)-- 秒杀
- RxJava入门
- 007——javamail带附件发送邮件
- Java中对象的三种状态
- javaweb学习总结(十五)——JSP基础语法
- spring mvc 4.0 websocket 开发