注:RxJava使用類似於觀察者模式,並可以讓觀察者和被觀察者在不同線程中運行,以達到異步處理的效果
一、定義被觀察者
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> o) throws Exception { o.onNext("message"); } });二、定義觀察者
Consumer<String> consumer = new Consumer<String>() { @Override public void accept(String message) throws Exception {
Toast.makeText(this,message,Toast.LENGTH_SHORT).show();}}; 三、使被觀察者與觀察者關聯起來
observable.subscribeOn(Schedulers.newThread()) //使被觀察處於一個新的線程中 .observeOn(AndroidSchedulers.mainThread()) //使觀察者處於主線程中 .subscribe(consumer);