分享一個大神的人工智能教程。零基礎!通俗易懂!風趣幽默!希望你也加入到人工智能的隊伍中來! 網址:http://www.captainbed.net/yancyang
RxJava是一個非常著名的開源庫,是ReactiveX(Reactive Extensions)的一種java實現。
RxJava是一種響應式擴展框架,有很多種實現,如RxAndroid,RsJS,RxSwift,RxRuby,RxCpp,RxGo等。
RxJava的使用通常需要三步走。
1.創建Observable
observable:被觀察者。
2.創建Observer
observer:觀察者
3.使用subscribe()訂閱
subscribe:訂閱
subscribe是被觀察者與觀察者之間的橋樑,這樣就能銜接實現鏈式調用。
/**
* 我想大家都記得,剛接觸代碼的Hello World
*/
@SuppressLint("CheckResult")
public void helloWorld() {
// 1.創建Observable
Observable<String> hello_world = Observable.just("Hello World");
//3.使用subscribe()訂閱並連接Observable和Observer
hello_world.subscribe(consumer);
}
// 2.創建Observer
Consumer consumer = new Consumer<String>() {
@Override
public void accept(String s) throws Exception {
System.out.print(s);
}
};
Just()是RxJava的創建操作符,用於創建一個Observable,此類操作符還有很多,針對不同的Observable。
Consumer書上的意思爲消費者。此處的意思就是Observer,單一類型參數
subscribe()有多個重載的方法。
subscribe()
subscribe(onNext)
subscribe(onNext,onError)
subscribe(onNext,onError,onComplete)
subscribe(onNext,onError,onComplete,onSubscribe)
我們經常見到的subscribe()
subscribe
對觀察者的排放和通知進行操作
該訂閱運算符是一個觀察者連接到可觀察到的膠水。爲了使觀察者能夠看到Observable發出的項目,或者從Observable接收錯誤或完成的通知,它必須首先使用此運算符訂閱該Observable。
Subscribe運算符的 典型實現可以接受一到三個方法(然後構成觀察者),或者它可以接受實現包含這三種方法的接口的對象(有時稱爲 Observer或Subscriber):
onNext
只要Observable發出一個項目,Observable就會調用此方法。此方法將Observable發出的項作爲參數。
onError
Observable調用此方法以指示它無法生成預期數據或遇到其他一些錯誤。這將停止Observable,它不會進一步調用 onNext或onCompleted。該onError方法將參數作爲參數指示導致錯誤的原因(有時像Exception或Throwable這樣的對象,有時候是一個簡單的字符串,具體取決於實現)。
onCompleted
如果Observable調用onNext了最後一次,如果它沒有遇到任何錯誤,則會調用此方法。
如果Observable在觀察者訂閱之前沒有開始發射物品,則稱其爲“冷”Observable; 如果Observable可以在任何時間開始發出物品,則它被稱爲“熱”Observable,並且訂戶可以在其開始之後的某個時刻開始觀察所發射物品的序列,從而錯過了在訂閱之前發射的任何物品.
參考文檔:http://reactivex.io/documentation/operators/subscribe.html
下一章描述:
1.subscribe()
2.“冷”Observable
3.“熱”Observable
CSDN就停止更新Rxjava2.x的文章了,如果想要了解更多的,來我的微信訂閱號吧。
強烈推薦
分享一個大神的人工智能教程。零基礎!通俗易懂!風趣幽默!希望你也加入到人工智能的隊伍中來! 網址:http://www.captainbed.net/yancyang