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 staticRetrofitUtils getInstance(){ if(null==retrofitUtil){ //同步锁 synchronized (RetrofitUtils.class){ if(null==retrofitUtil){ retrofitUtil=new RetrofitUtils(); } } } return retrofitUtil; }public ZhujieApi getZhujieApi(){ //创建一下自己写的注解 return retrofit.create(ZhujieApi.class); }

}
//model里面的
【RetrofitUtils和Rxjava一起】
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); }


    推荐阅读