我读了一些页面,它定义了Rxjava是一个库,用于使用Java VM的可观察序列来编写异步和基于事件的程序。它基于观察者模式。
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();
}
});
在我看来,观察者模式就像按钮和按钮的监听器一样。如果单击按钮,该按钮将创建一个事件来通知监听器运行。
问题是:
答案 0 :(得分:2)
看看PublishSubject
。它既是一个可以订阅的可观察源,也可以发送它。就UI按钮而言,您可以这样做:
final PublishSubject<String> subject = PublishSubject.create();
final Observable<String> o =
subject.doOnNext(...)
.doOnError(...)
.subscribe();
按钮监听器中的:
public void onEvent(Event event) {
subject.onNext(event.name());
}