请先阅读 Retrofit 开发-1(OkHttp+Retrofit基本使用)
本文建立在对 RxJava2.x
和 Retrofit
基本熟悉的基础上,主要是在 Android
平台下对 RxJava
+ Retrifit
发送请求进行封装方法的探索。
准备
首先你要确保在创建 Retrofit
时使用了 RcJava
的数据转换适配器。
依赖
1 | adapter_rxjava2 : 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0', |
配置
1 | final Retrofit.Builder retrofitBuilder = new Retrofit.Builder(); |
将数据中返回的全部类型改成 Observable
类型
1 | (GET_USER_INFO) |
请求数据
这边熟悉了 RxJava
的相关使用和操作符之后用起来还算得心应手,就不做过多解释,贴两段代码感受一下。
封装的 Observer
1 | public class ObserverWrap<T> implements Observer<T> { |
获取用户信息
1 | // 调用 |
来一个复杂点的,获取一个列表
1 | // 调用 |
封装
在 Android
平台下我们进行网络请求时,往往有些特殊的要求,总结如下,不断完善实现下列需求的方法,寻找一种更合适更简单的 Retrofit
+ RxJava
的网络请求架构。
- 请求开始时,显示
Dialog
提示用户等待,请求结束时消掉Dialog
- 当
Activity
销毁时取消当前界面的请求。- 当
Dialog
被认为cancel
时,取消当前页面的请求。