项目中Rxjava +Retrofit的使用

2017-08-23  本文已影响0人  记得写丶

以及

public class GlobalParameterInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
    Request oldRequest = chain.request();
    // 添加新的参数
    HttpUrl.Builder newBuilder = oldRequest.url()
            .newBuilder()
            .scheme(oldRequest.url().scheme())
            .host(oldRequest.url().host());
    Request.Builder builder = oldRequest.newBuilder()
            .method(oldRequest.method(), oldRequest.body());
    //全部添加ci请求参数,ci为所在地参数
    int ci = SPUtils.getInstance(BaseApplication.getInstance(), Constants.SP_CITY).getInt(Constants.CITY_CODE, 20);
    newBuilder.addQueryParameter("ci", String.valueOf(ci));

    // 新的请求
    Request newRequest = builder.url(newBuilder.build()).build();
    Response response = chain.proceed(newRequest);
    return response;
}
}

线程的转换类

public class SchedulersCompat {
public static <T>ObservableTransformer<T,T> applyIoSchedulers(){
    return new ObservableTransformer<T, T>() {
        @Override
        public ObservableSource<T> apply(@NonNull Observable<T> upstream) {
            return upstream.subscribeOn(Schedulers.io())
                   .observeOn(AndroidSchedulers.mainThread());
        }
    };
}
}
上一篇 下一篇

猜你喜欢

热点阅读