请先阅读 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时,取消当前页面的请求。