Rxjava和Retrofit 在android中使用

创建Retrofit对象


image.png

封装Rxjava2中Observable方法

private void toSubscribe(Observable tObservable, Observer observer) {
        tObservable.subscribeOn(Schedulers.io()) //新建一个io线程
                .unsubscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread()) //在Android主线程中处理
                .subscribe(observer);
    }

这样在每次调用的使用,就不用每次重复写了

 public void getActivityFreight(RequestBody map, Observer observer){
        Observable observable = apiService.getActivityFreight(map);
        toSubscribe(observable, observer);
    }

我们来看一下Observable中subscribeOn和observeOn有啥区别

subscribeOn

指定一个观察者在哪个调度器上观察这个Observable

observeOn

指定的是Observable自身在哪个调度器上执行

如代码中所示:
subscribeOn(Schedulers.io())

在io线程中请求网络

observeOn(AndroidSchedulers.mainThread())

在主线程中更新ui

你可能感兴趣的:(Rxjava和Retrofit 在android中使用)