RetrofitUtils和Rxjava一起

public class RetrofitUtils {
    public static RetrofitUtils retrofitUtil=null;
    private final Retrofit retrofit;

    public RetrofitUtils(){
        OkHttpClient okHttpClient = new OkHttpClient.Builder()

                .addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))//添加的是应用拦截器

                .build();

        OkHttpClient.Builder builder = new OkHttpClient.Builder();
        retrofit = new Retrofit.Builder()
                .baseUrl("http://api.tianapi.com/")
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .build();

    }
    public static  RetrofitUtils getInstance(){
        if(null==retrofitUtil){
            //同步锁
            synchronized (RetrofitUtils.class){
                if(null==retrofitUtil){
                    retrofitUtil=new RetrofitUtils();
                }
            }
        }
        return retrofitUtil;
    }

    public ZhujieApi getZhujieApi(){
        //创建一下自己写的注解
        return retrofit.create(ZhujieApi.class);
    }

}

//model里面的

 public void getUrl(String url, String key, String num) {
        Observable beanObservable = RetrofitUtils.getInstance().getZhujieApi().doGet(key, num);
        beanObservable.observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.io())
                .subscribe(new Observer() {
                    @Override
                    public void onSubscribe(Disposable d) {

                    }

                    @Override
                    public void onNext(Bean value) {
                        imPresenter.onsuccess(value);
                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onComplete() {

                    }
                });

    }
}
//用注解

public interface ZhujieApi {
    @GET("nba/?")
    Observable doGet(@Query("key") String key, @Query("num") String num);
}

你可能感兴趣的:(RetrofitUtils和Rxjava一起)