1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| MovieModel model = MovieModel.getInstance(); Disposable subscribe = model.getHomePage() //线程控制(也称为调度 / 切换),即讲解功能性操作符中的:subscribeOn() & observeOn() //功能性操作符subscribeOn() & observeOn()作用 //线程控制,即指定 被观察者 (Observable) / 观察者(Observer) 的工作线程类型 // 1. 指定被观察者 生产事件的线程 .subscribeOn(Schedulers.io()) // 2. 指定观察者 接收 & 响应事件的线程 .observeOn(AndroidSchedulers.mainThread()) // 3. 最后再通过订阅(subscribe)连接观察者和被观察者 .subscribe(new Consumer<MovieBean>() { @Override public void accept(MovieBean movieBean) throws Exception { LogUtils.e(TAG+"----"+"accept(MovieBean movieBean)"); if (movieBean != null && movieBean.getRet() != null) { mView.setAdapterData(movieBean); } } }, new Consumer<Throwable>() { @Override public void accept(Throwable throwable) throws Exception { LogUtils.e(TAG+"----"+"accept(Throwable throwable)"); } }, new Action() { @Override public void run() throws Exception { LogUtils.e(TAG+"----"+"run()"); } }, new Consumer<Disposable>() { @Override public void accept(Disposable disposable) throws Exception { LogUtils.e(TAG+"----"+"accept(Disposable disposable)"); } }); mSubscriptions.add(subscribe);
|