Rxjava
Observer<String> observer = new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
Log.e("=====",s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
};
Observable<String> observable=new Observable<String>() {
@Override
protected void subscribeActual(Observer<? super String> observer) {
observer.onNext("1704");
observer.onNext("王XX");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
observer.onNext("套你猴子");
observer.onComplete();
}
};
observable.subscribeOn(Schedulers.io());
observable.observeOn(AndroidSchedulers.mainThread());
observable.subscribe(observer);
}
Replay
Observer<String> observer = new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
Log.e("=====","sub");
}
@Override
public void onNext(String s) {
Log.e("=====",s);
}
@Override
public void onError(Throwable e) {
Log.e("=====","erro");
}
@Override
public void onComplete() {
Log.e("=====","comp");
}
};
final Observable<String> observable=Observable.just("大妈猴子","套你猴子","王XX");
observable.subscribeOn(Schedulers.io());
observable.observeOn(AndroidSchedulers.mainThread());
ReplaySubject<String> replaySubject=ReplaySubject.create();
observable.subscribe(replaySubject);
replaySubject.flatMap(new Function<String, ObservableSource<String>>() {
@Override
public ObservableSource<String> apply(final String s) throws Exception {
ObservableSource<String> os=new ObservableSource<String>() {
@Override
public void subscribe(Observer<? super String> observer) {
observer.onNext("自学成才"+s);
}
};
return os;
}
}).subscribe(observer);
publish
Observer<String> observer = new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
Log.e("=====",s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
};
Observable<String> observable=Observable.just("大马猴子","套你猴子","王XX");
observable.subscribeOn(Schedulers.io());
observable.observeOn(AndroidSchedulers.mainThread());
PublishSubject<String> subject=PublishSubject.create();
observable.subscribe(subject);
merge
Observer<String> observer = new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
Log.e("=====",s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
};
Observable<String> observable=Observable.just("1704","套你猴子","王泽云");
observable.subscribeOn(Schedulers.io());
observable.observeOn(AndroidSchedulers.mainThread());
PublishSubject<String> subject=PublishSubject.create();
observable.subscribe(subject);
just
Observer<String> observer = new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
Log.e("=====",s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
};
Observable<String> observable=Observable.just("大马猴子","套你猴子","王XX");
observable.subscribeOn(Schedulers.io());
observable.observeOn(AndroidSchedulers.mainThread());
observable.subscribe(observer);
1033

被折叠的 条评论
为什么被折叠?



