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) { ObservablebeanObservable = 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/?") ObservabledoGet(@Query("key") String key, @Query("num") String num); }
推荐阅读
- 急于表达——往往欲速则不达
- 第三节|第三节 快乐和幸福(12)
- 20170612时间和注意力开销记录
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 对称加密和非对称加密的区别
- 眼光要放高远
- 樱花雨
- 前任
- 2020-04-07vue中Axios的封装和API接口的管理
- 烦恼和幸福