RXJava非同步程式碼
阿新 • • 發佈:2019-01-10
RxJava是什麼:
通過觀察者模式實現非同步操作的庫。同AsyncTask和Handler等Android自帶的非同步操作最大的區別是,隨著程式邏輯變得越來越複雜,RxJava依然能夠保持程式碼邏輯的簡潔。
RxJava的觀察者模式
RxJava觀察者模式有三個基本概念,Obaservable(可觀察者,被觀察者)、Observer(觀察者)、Subscribe(訂閱)。Observable和Observer通過Subscribe實現訂閱關係。Observable可以在需要的時候發出資訊通知Observer。傳送通知有三個方法:onNext(),onError(),onCompleted(),
Gradle配置
compile "io.reactivex:rxjava:1.1.0"
compile "io.reactivex:rxandroid:1.1.0"
相關程式碼
Observable.create(new Observable.OnSubscribe<Object>() {
@Override
public void call(Subscriber<? super Object> subscriber) {
//非同步操作相關程式碼
subscriber.onNext();
}
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<Object>(){
@Override
public void call(Object data) {
// 主執行緒操作
}
});