創(chuàng)建型操作符
-
create
操作符
// 上游
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
// 上游發(fā)射的
e.onNext("A"); // 使用者自己發(fā)射
}
})
// 訂閱
.subscribe(
// 下游
new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
Log.d(TAG, "下游接收 onNext: " + s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
})
;
-
just
操作符
// 上游
Observable.just("A", "B") // 內(nèi)部會(huì)去發(fā)射 A B
// 訂閱
.subscribe(
// 下游
new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
Log.d(TAG, "onNext: " + s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
}
-
fromArray
操作符
String[] strings = {"張三", "李四", "王五"};
Observable.fromArray(strings)
.subscribe(new Consumer<String>() {
@Override
public void accept(String s) throws Exception {
Log.d(TAG, "accept: " + s);
}
});
-
empty
操作符
// 上游沒(méi)有發(fā)射有值得事件蚀浆,下游無(wú)法確定類(lèi)型污呼,默認(rèn)Object,RxJava泛型 泛型默認(rèn)類(lèi)型==Object
// 上游無(wú)法指定 事件類(lèi)型
Observable.empty() // 內(nèi)部一定會(huì)只調(diào)用 發(fā)射 onComplete 完畢事件
// 訂閱
.subscribe(
// 下游 觀察者
new Observer<Object>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Object integer) {
// 沒(méi)有事件可以接受
Log.d(TAG, "onNext: " + integer);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
Log.d(TAG, "onComplete: ");
// 隱藏 加載框...
}
}
-
range
操作符
Observable.range(80, 5) // 80開(kāi)始 加1 數(shù)量共5個(gè)
// 訂閱
.subscribe(
// 下游
new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
//80 81 82 83 84
Log.d(TAG, "accept: " + integer);
}
});
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者