【发布时间】:2017-05-03 13:48:10
【问题描述】:
使用RxJava 和RxAndroid 的第一个版本,我将class 视为EventBus:
public class RxBus {
private static RxBus instance;
private PublishSubject<Object> subject = PublishSubject.create();
public static RxBus instanceOf() {
if (instance == null) {
instance = new RxBus();
}
return instance;
}
public void setMessage(Object object) {
subject.onNext(object);
}
public Observable<Object> getEvents() {
return subject;
}
}
在任何类中通过instanceOf 获取实例,我使用setMessage 方法发出消息并使用以下代码获取发出的消息:
bus.getEvents().subscribe(new Action1<Object>() {
@Override
public void call(Object o) {
if (o instanceof String) {
//TODO
}
}
});
Action1 来自 rx.functions 包。尝试迁移使用 RxJava 2 我无法导入它。
请告诉我,将RxJava 2 用作EventBus 的最短方法是什么
【问题讨论】:
标签: android rx-java rx-android rx-java2