注: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);