前言
Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。
Github截图
RxJava如此受欢迎的原因,在于其提供了丰富 & 功能强大的操作符,几乎能完成所有的功能需求
今天,我将为大家带来 Rxjava创建操作符的实际开发需求场景:有条件的轮询需求 ,并结合Retrofit 与RxJava 实现,希望大家会喜欢。
本系列文章主要基于 Rxjava 2.0
接下来的时间,我将持续推出 Android中 Rxjava 2.0 的一系列文章,包括原理、操作符、应用场景、背压等等 ,有兴趣可以继续关注Carson_Ho的安卓开发笔记!!
示意图
目录
示意图
1. 需求场景
示意图
注:关于 Rxjava中的repeatWhen() 操作符的使用请看文章Android RxJava:功能性操作符 全面讲解
2. 功能说明
采用Get方法对 金山词霸API 按规定时间重复发送网络请求,从而模拟 轮询 需求实现
停止轮询的条件 = 当轮询到第4次时
采用 Gson 进行数据解析
金山词典
3. 具体实现
下面,我将结合 Retrofit 与RxJava 实现 有条件的轮询需求
3.1 步骤说明
添加依赖
创建 接收服务器返回数据 的类
创建 用于描述网络请求 的接口(区别于Retrofit传统形式)
创建 Retrofit 实例
创建 网络请求接口实例 并 配置网络请求参数(区别于Retrofit传统形式)