緊接上一篇博文,本篇介紹RxJava,一個實現異步操做的庫。java
RxJava最核心的兩個東西是Observables和Subscribersweb
1.Observables(被觀察者,事件源)發出一系列事件設計模式
2.Subscribers(觀察者)處理這些事件異步
這裏的事件能夠是任何你感興趣的東西(觸摸事件,web接口調用返回的數據等等)ide
一個Observable能夠發出零個或者多個事件,知道結束或者出錯。函數
每發出一個事件,就會調用它的Subscriber的onNext方法,最後調用Subscriber.onNext()或者Subscriber.onError()結束。ui
Rxjava的看起來很想設計模式中的觀察者模式,可是有一點明顯不一樣,那就是若是一個Observerble沒有任何的的Subscriber,那麼這個Observable是不會發出任何事件的。spa
eg.一個用RxJava來打印Hello World的程序設計