RxJava的GitHub主頁,部署部分就沒什么好說的了~
https://github.com/ReactiveX/RxJava
基礎
RxJava最核心的兩個東西是Observables(被觀察者,事件源)和Subscribers(觀察者)。Observables發(fā)出一系列事件,Subscribers處理這些事件。這里的事件可以是任何你感興趣的東西(觸摸事件,web接口調(diào)用返回的數(shù)據(jù)。。。)
一個Observable可以發(fā)出零個或者多個事件,知道結(jié)束或者出錯。每發(fā)出一個事件,就會調(diào)用它的Subscriber的onNext方法,最后調(diào)用Subscriber.onNext()或者Subscriber.onError()結(jié)束。
Rxjava的看起來很想設計模式中的觀察者模式,但是有一點明顯不同,那就是如果一個Observerble沒有任何的的Subscriber,那么這個Observable是不會發(fā)出任何事件的。
Hello World
創(chuàng)建一個Observable對象很簡單,直接調(diào)用Observable.create即可
Observable<String> myObservable = Observable.create( new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> sub) { sub.onNext("Hello, world!"); sub.onCompleted(); } } );
這里定義的Observable對象僅僅發(fā)出一個Hello World字符串,然后就結(jié)束了。接著我們創(chuàng)建一個Subscriber來處理Observable對象發(fā)出的字符串。
Subscriber<String> mySubscriber = new Subscriber<String>() { @Override public void onNext(String s) { System.out.println(s); } @Override public void onCompleted() { } @Override public void onError(Throwable e) { } }; 這里subscriber僅僅就是打印observable發(fā)出的字符串。通過subscribe函數(shù)就可以將我們定義的myObservable對象和mySubscriber對象關聯(lián)起來,這樣就完成了subscriber對observable的訂閱。
myObservable.subscribe(mySubscriber);
一旦mySubscriber訂閱了myObservable,myObservable就是調(diào)用mySubscriber對象的onNext和onComplete方法,mySubscriber就會打印出Hello World!
更簡潔的代碼
是不是覺得僅僅為了打印一個hello world要寫這么多代碼太
主站蜘蛛池模板:
仪陇县|
卢湾区|
冕宁县|
韶关市|
贡山|
呼和浩特市|
蒙城县|
通许县|
湖北省|
井冈山市|
福安市|
浮山县|
沐川县|
河间市|
濉溪县|
城步|
廉江市|
昔阳县|
鹿邑县|
延川县|
丁青县|
巴马|
三穗县|
邵阳市|
汝城县|
辉南县|
友谊县|
连山|
平原县|
上林县|
曲阜市|
余姚市|
泽普县|
龙口市|
稻城县|
天气|
凌云县|
章丘市|
乾安县|
泰宁县|
德钦县|