Retrofit+RxJava+RxAndroid+Gson快速构建网络框架
2017-08-19 17:29
531 查看
1.首先build.gradle文件中引用依赖库
compile 'com.squareup.retrofit2:converter-gson:2.3.0' compile 'com.squareup.retrofit2:adapter-rxjava:2.3.0' compile 'com.squareup.retrofit2:retrofit:2.3.0' compile 'io.reactivex:rxandroid:1.2.1'
2.通过Builder模式创建Retrofit对象
Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com") //通过Gson 解析实体 .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build();
3.定义或者通过GsonFormat插件把Json字符串生成实体类(本例中的实体类Repo)
4.定义接口
/** * 定义接口 */ public interface GitHubService { @GET("users/{user}/repos") Observable<List<Repo>> listRepos(@Path("user") String user); }
5.创建接口实例,调用接口并通过观察者模式获取数据
GitHubService service = retrofit.create(GitHubService.class); service.listRepos("dz-hexiang") //在IO线程进行网络请求 .subscribeOn(Schedulers.newThread())//请求在新的线程中执行 .observeOn(AndroidSchedulers.mainThread()) //请求完成后在主线程线程中执行,如更新ui .doOnNext(new Action1<List<Repo>>() { @Override public void call(List<Repo> repos) { Log.w("retrofit","获取到的数据"); /** * 异步耗时处理数据 */ } }) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<List<Repo>>() { @Override public void onCompleted() { Log.w("retrofit","onCompleted"); } @Override public void onError(Throwable e) { Log.w("retrofit","onError"); } @Override public void onNext(List<Repo> repos) { /** * 主线程中把得到的数据更新UI界面 */ // mTextMessage.setText(new Gson().toJson(repos)); } });
相关文章推荐
- RxAndroid+RxJava+Gson+retrofit+okhttp初步搭建android网络请求框架
- Retrofit2.0+RxJava+RxAndroid——强强联合的网络请求框架
- Retrofit2.0+RxJava+RxAndroid——强强联合的网络请求框架
- Android/Java网络加载框架Retrofit(三)结合RxJava2与RxAndroid2
- Android/Java网络加载框架Retrofit(三)结合RxJava2与RxAndroid2
- 一套整合主流HTTP网络、图片加载、MVP(RxJava2+Dagger2)架构的快速高效的开发框架RxEasyAndroid
- Retrofit2.0+RxJava+RxAndroid——强强联合的网络请求框架
- Retrofit2.0+RxJava+RxAndroid——强强联合的网络请求框架
- Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架
- Android RxJava和Retrofit网络框架封装(一)
- 基于Retrofit+RxJava的Android分层网络请求框架
- Android从零开搞系列:网络框架系列(4)Retrofit+RxJava+MVP(中-上)RxJava篇(上)
- Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架
- Android项目MVP模式框架+okhttp+rxjava+retrofit网络框架
- 优雅的构建Android项目之RxAndroid+Retrofit网络请求
- [置顶] Android 一步步搭建MVP+Retrofit+RxJava网络请求框架
- Retrofit 2.0使用详解,配合OkHttp、Gson,Android最强网络请求框架
- Android从零开搞系列:网络框架系列(3)Retrofit+RxJava+MVP(上)Retrofit
- Android MVP+RXJava+Retrofit框架的初步构建
- Retrofit2+OkHttp3+RxJava构建网络框架