Retrofit+RXJAVA添加拦截器

来源:互联网 发布:交通银行软件开发待遇 编辑:程序博客网 时间:2024/05/17 06:00
public class MyModel implements Imodel {


//接口回调传输数据

    public Onfinish onfinish1;

    public interface Onfinish {
        void onFinish(Mygson list);
    }

    public void setOnFinish(Onfinish onfinish) {
        this.onfinish1 = onfinish;
    }

    @Override
    public void getData() {
        //创建okhttpclient,方便添加拦截器
        OkHttpClient.Builder client = new OkHttpClient.Builder().addInterceptor(new LoggingInterceptor());
        //穿件retrofit实例
        Retrofit retrofit = new Retrofit.Builder().baseUrl(API.URl).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).client(client.build()).build();
        //添加动态代理
        ApiService apiService = retrofit.create(ApiService.class);
        //获取数据源
        Observable<Mygson> data = apiService.getData();
        data.subscribeOn(Schedulers.io())////IO线程做耗时操作
                .observeOn(AndroidSchedulers.mainThread())//在主线程更新UI
                .subscribe(new Observer<Mygson>() {
                    //完成
                    @Override
                    public void onCompleted() {

                    }

                    //异常
                    @Override
                    public void onError(Throwable e) {

                    }

                    //加载中
                    @Override
                    public void onNext(Mygson mygson) {
                  
                    }
                });

    }
}