最近查看github网站,发现Retrofit2的下载量已达26.1K,浏览安卓巴士统计过去2017年最受欢迎的Android框架,第一名竟然是Retrofit,再次本人简单的实现Retrofit2与Rxjava2网络请求,请大家多多支持
本篇主要简单实现,至于RxJava2与RxJava1的区别,Retrofit1与Retrofit2的区别,可后续上传
实现如下:
创建服务接口
public interface IDemo { //Retrofit支持常用的各种请求方式,本例只是简单的Get请求 @GET("福利/10/1") Observable<BasicResponse<List<MeiZi>>> getDataFromNet(); }进行网络请求
//创建retrofit实例 Retrofit retrofit = new Retrofit.Builder() .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .baseUrl("http://gank.io/api/data/") .build(); //获取网络请求服务代理 IDemo iDemo = retrofit.create(IDemo.class); //获取方法,即获取被观察者 Observable<BasicResponse<List<MeiZi>>> ob = iDemo.getDataFromNet(); //采用RxJava2 ob.subscribeOn(Schedulers.io())//网络请求在子线程中 .observeOn(AndroidSchedulers.mainThread())//消费事件在主线程中 //进行订阅事件 .subscribe(new Consumer<BasicResponse<List<MeiZi>>>() { @Override public void accept(@NonNull BasicResponse<List<MeiZi>> listBasicResponse) throws Exception { Log.d("TAG","打印结果:"+listBasicResponse.getResults()+"==========="); } });