RxJava Observer 和 Subscriber
2017-02-07 18:28:21 0 举报
AI智能生成
RxJava Observer 和 Subscriber 都是用于处理异步事件的接口。Observer 是 RxJava 1.x 版本的观察者接口,而 Subscriber 是 RxJava 2.x 版本的观察者接口。两者的主要区别在于 Subscriber 提供了更多的方法来处理事件,如 onComplete、onError、onNext等。此外,Subscriber 还支持背压控制,可以有效地防止事件队列过长导致的内存溢出问题。总之,Observer 和 Subscriber 都是 RxJava 中非常重要的概念,它们可以帮助我们更好地处理异步事件。
作者其他创作
大纲/内容
Subscriber 新增onStart() unsubscribe()
Observable
被观察者
创建方式
create
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();
}
});
just
Observable observable = Observable.just("Hello", "Hi", "Aloha");
from
String[] words = {"Hello", "Hi", "Aloha"};
Observable observable = Observable.from(words);
Observer
观察者
创建
Observer<String> observer = new Observer<String>() {
@Override
public void onNext(String s) {
Log.d(tag, "Item: " + s);
}
@Override
public void onCompleted() {
Log.d(tag, "Completed!");
}
@Override
public void onError(Throwable e) {
Log.d(tag, "Error!");
}
};
Subscribe
订阅
observable.subscribe(observer);
// 或者:
observable.subscribe(subscriber);
0 条评论
下一页
为你推荐
查看更多