被觀察者(observable)、觀察者(observer)、訂閱(subscribe)。
1、建立被觀察者:
observable observable = observable.create(new observableonsubscribe()
});2、建立觀察者:
observer observer = new observer()
@override
public void onnext(integer o) {}
@override
public void onerror(throwable e) {}
@override
public void oncomplete() {}
};3、建立訂閱關係:
observable.subscribe(observer);
observable.create((observableonsubscribe) emitter -> );
observable.just(0);
observable.fromiterable(arrays.aslist(0,1, 2));
observer observer = new observer()
@override
public void onnext(integer o) {}
@override
public void onerror(throwable e) {}
@override
public void oncomplete() {}
};consumerconsumer = new consumer()
};disposable subscribe();
void subscribe(observer<? super t> observer);
disposable subscribe(consumer<? super t> onnext, consumer<? super throwable> onerror,action oncomplete, consumer<? super disposable> onsubscribe);
> e subscribewith(e observer);
subscribeon():指定observable被觀察者在哪個執行緒執行。要注意的是,如果多次呼叫此方法,只有第一次有效。
observeon():指定observe觀察者在哪個執行緒中執行。多次指定觀察者接收執行緒是可以的,每呼叫一次observeron(),下游的執行緒就會切換一次。
observable.just(0)
.subscribeon(schedulers.io())
.observeon(androidschedulers.mainthread())
.map(integer -> )
.observeon(schedulers.io())
.map(integer -> )
.observeon(schedulers.newthread())
.map(integer -> )
.observeon(schedulers.computation())
.map(integer -> )
.observeon(schedulers.single())
.map(integer -> )
.observeon(androidschedulers.mainthread())
.map(integer -> )
.subscribe();
RxJava2原始碼解析
原始碼總結 observabel 通過create方法。將observableonsubscribe物件傳遞給自己。通過subscribe方法。建立 observableemitter發射器物件。發射器裡又封裝了observer。發射器又作為引數傳遞 給observableonsubscribe物件...
Rxjava2的簡單實用
第一種方式實現觀察者和被觀察者的建立和建立聯絡 1 建立被觀察者 建立被觀察者 傳送資料 observable observable observable.create new observableonsubscribe 2 建立觀察者 建立觀察者 接受資料 io.reactivex.observe...
RxJava2簡單使用三(執行緒排程)
之前我也用到過執行緒排程,但是沒有仔細講這個問題,我這裡作為新手還是解釋一下 執行緒排程一 基本配置 subscribeon schedulers.newthread 將被觀察者設定在乙個新的執行緒來執行 observeon androidschedulers.mainthread 將觀察者設定在主...