首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android】RxJava + Retrofit完成网络请求

RxJava + Retrofit 前言 本文基于RxJavaRetrofit使用,若是对RxJavaRetrofit还不了解简友可以先了解RxJavaRetrofit用法再来看这篇文章。...Observable...是不是觉得很熟悉,这货不就是之前在RxJava使用到被监听者? 3、使用Observable完成一个网络请求,登录成功后保存数据到本地。...+ Retrofit 形式时候,Retrofit 把请求封装进 Observable ,在请求结束后调用 onNext() 或在请求失败后调用 onError()。...使用RxJava + Retrofit来完成这样请求(借用抛物线例子,稍微做了点改动) //登录,获取token @GET("/login") public Observable...RxJava使用就暂时介绍到这里吧,使用过程遇到好用再出来跟大家分享。 以上有错误之处感谢指出 参考:给 Android 开发者 RxJava 详解 (本文部分内容引用自该博客)

1K100
您找到你想要的搜索结果了吗?
是的
没有找到

Android RxJavaRxAndroid结合Retrofit使用

RxJava 不仅把每个事件单独处理,还会把它们看做一个队列。没有新onNext()之后,调用此方法。 onError():事件队列异常。...onCompleted() 和 onError()还是互斥,只能调用其中一个 回顾Retrofit 上篇博文我们使用Retrofit实现对网络访问以及返回数据解析,详情请见Android 初探Retrofit2.0.1...(最新版),在这里我们再简单温习下 创建WeatherInfoService,并制定请求数据方式以及需要查询参数 创建相应WeatherInfoBean 创建Retrofit对象并使用GSON解析数据...调用 weatherInfoService#getWeatherInfo(FORMAT, CITYNAME, KEY),获取call 插入队列,并展示数据 RxJava/RxAndroid结合Retrofit...(today)); } }); } 在.map()方法我们获取WeatherInfoToday属性,并且返回Today

1.2K100

深入浅出RxJava+Retrofit+OkHttp网络请求

各自职责:Retrofit 负责请求数据和请求结果,使用接口方式呈现,OkHttp 负责请求过程,RxJava 负责异步,各种线程之间切换。...请求数据封装 1.参数 首先需要封装使我们数据类,在数据需要封装请求中用到相关数据设置,比如请求参数、方法、加载框显示设置等等 public abstract class BaseApi<...3.结果判断 这里结合RxJavamap方法在服务器返回数据,统一处理数据处理,所以BaseApi<T implements Func1<BaseResultEntity<T , T ,后边结合结果处理链接起来使用...处理,成功则将用户关心数据传给Gson解析返回 5.泛型传递 BaseResultEntity<T 泛型T也就是我们所关心回调数据,同样也是Gson最后解析返回数据,传递过程根节点是通过定义...<T 类返回onNext(T t)成功数据或者onError(Throwable e)数据

5.8K10

RxJava入门到不离不弃(八)——使用场景

下面我用对比方式来介绍 Retrofit RxJava 版 API 和传统版本区别。 以获取一个 MovieEntity 对象接口作为例子。...和Rxjava结合,大家可以自己进行封装;那么用上了RxJava,我们就可以用它强大操作符来对数据进行处理和操作,各位看官可以具体去实现,我在这里不做多做赘述。...由于 RxJava Observable 订阅后(调用 subscribe 函数),一般会在后台线程执行一些操作(比如访问网络请求数据),当后台操作返回后,调用 Observer onNext 等函数...在Android 6.0,系统新增了部分权限运行时动态获取。而不再是在以前版本安装时候授予权限。...,你就会发现RxJava魅力所在;如果看一遍没有看懂童鞋,建议多看几次;动手写写代码,我想信本文可以给到你们一些帮助;你们真正体会到什么是 入门到放弃再到不离不弃 ;这就是RxJava魅力所在

67210

RxAndroid完全教程

下面我用对比方式来介绍 Retrofit RxJava 版 API 和传统版本区别。 以获取一个 User 对象接口作为例子。... callback); 在程序构建过程Retrofit 会把自动把方法实现并生成代码,然后开发者就可以利用下面的方法来获取特定用户并处理响应: getUser(userId, new...当 RxJava 形式时候,Retrofit 把请求封装进 Observable ,在请求结束后调用 onNext() 或在请求失败后调用 onError()。...比如: 假设这么一种情况:你程序取到 User 并不应该直接显示,而是需要先与数据数据进行比对和修正后再显示。...数据操作很重,一次读写操作花费 10~20ms 是很常见,这样耗时很容易造成界面的卡顿。所以通常情况下,如果可以的话一定要避免在主线程处理数据库。

1.4K90

Rxjava2最全面的解析

众所周知,rxjava+retrofit是目前网上最流行网络解析框架。而目前网络上文章大多还是关于rxjava1。关于RxJava2少之又少,于是,便有了此文。 此文目的有三个: 1....Function相关rxjava1,我们有各种Func1,Func2......,但在rxjava2只有Function了。依旧记得看凯哥文章时候把我整蒙了。...我们知道在Rxjava1Observable对backpressure是支持。但在Rxjava2Observable取消了对backpressure支持。...仔细看,map()方法,我们把一个integer对象转换成了一个String对象。然后当map()调用结束时,事件参数类型也integer转换成了String。这就是最常见变换操作。...skip 、take skip操作符将源Observable发射过数据过滤掉前n项,而take操作则只取前n项;另外还有skipLast和takeLast则是后往前进行过滤。

2.3K100

Carson带你学Android:RxJava线程控制(含实例讲解)

本文主要讲解是: 线程控制(也称为调度 / 切换),即讲解功能性操作符:subscribeOn() & observeOn() Carson带你学RxJava系列文章,包括 原理、操作符、应用场景...,需要在子线程实现耗时操作;然后回到主线程实现 UI操作 应用到 RxJava模型,可理解为: 被观察者 (Observable) 在 子线程 中生产事件(如实现耗时操作等等) 观察者(Observer...接口(区别于传统形式) 创建 Retrofit 实例 创建 网络请求接口实例 并 配置网络请求参数(区别于传统形式) 发送网络请求(区别于传统形式) 发送网络请求 对返回数据进行处理 本实例侧重于说明...compile 'com.squareup.retrofit2:retrofit:2.1.0' // 衔接 Retrofit & RxJava // 此处一定要注意使用RxJava2版本 compile...Carson带你学Android:功能防抖 Carson带你学Android:磁盘/内存缓存获取缓存数据 Carson带你学Android:联合判断

74220

Android RxJava+Retrofit完美封装(缓存,请求,生命周期管理)

前言 RetrofitRxJava已经出来很久了,很多前辈写了很多不错文章,在此不得不感谢这些前辈无私奉献开源精神,能让我们站在巨人肩膀上望得更远。...Retrofit使用可以 加QQ群:668041364 本文内容是基于Retrofit + RxJava一些巧妙封装。参考了很多文章加入了一些自己理解,请多指教。...RxJava永远比你想象强大。RxJava那么多操作符看到我身体不适,有个操作符compose。...处理ProgressDialog 在Rxjava我们什么时候来显示Dialog呢。一开始觉得是放在SubscriberonStart。onStart可以用作流程开始前初始化。...要实现上面的功能其实很简单,两部分 随时监听Activity(Fragment)生命周期并对外发射出去; 在我们网络请求,接收生命周期 并进行判断,如果该生命周期是自己绑定,如Destory,那么就断开数据向下传递过程

3.1K11

RxJava系列七(最佳实践)

因此这篇文章只是简单通过两个例子介绍了RxJava在生产环境使用。不过本篇每个例子我都配上了完整代码。...首选我们需要调用系统api来获取所有已安装app,所以在OnSubscribecall方法调用getApplicationInfoList()。...并不是我们所需要类型,因此需要通过map操作符将其转换为AppInfo; 由于获取ApplicationInfo、过滤数据、转换数据相对比较耗时,因此需要通过subscribeOn操作符将这一系列操作放到子线程来处理...源码地址:https://github.com/BaronZ88/HelloRxAndroid 示例二、RxJava+Retrofit2实现获取天气数据 RxJava + Retrofit2几乎是Android...所以就需要我们先访问服务器,拿到对应城市名cityId,然后通过这个cityId再去获取天气数据

980130

Carson带你学Android:什么时候应该使用Rxjava?(开发场景汇总)

今天,我将为大家带来 Rxjava基本使用 & 实际应用案例教学,即常见开发应用场景实现 ,并结合常用相关框架如Retrofit等,希望大家会喜欢。...实际开发应用场景 RxJava实际开发应用场景 与 其对应操作符息息相关 常见RxJava实际开发应用场景有如下: 下面,我将对每个实际开发应用场景进行实例讲解教学 下面实例皆结合常用框架如Retrofit...变换操作符FlatMap()实现嵌套网络请求 具体实现 Android RxJava 实际应用讲解:网络请求嵌套回调 3.5 磁盘 / 内存缓存 获取缓存数据 需求场景 功能说明...对于磁盘 / 内存缓存 获取缓存数据 功能逻辑如下: 具体实现 Android RxJava 实际应用讲解:磁盘 / 内存缓存 获取缓存数据 3.6 合并数据源 需求场景...功能说明 即,同时向2个数据获取数据 -> 合并数据 -> 统一展示到客户端 具体实现 Android RxJava 实际应用讲解:合并数据源 3.7 联合判断 需求场景 需要同时对多个事件进行联合判断

85920

Rxjava实战笔记 | Rxjava基本使用解析(同步结合示例)

' ---- 基理 Observable和Observer通过subscribe()方法实现订阅关系; Rxjava是自动发送事件, 一旦订阅就开始发送; ---- 基本使用三个步骤 ?...()三个方法分别对应着第一步ObservableonNext()、onComplete()、onError()三个方法, 只要Observable发出(调用)对应方法, Observer对应方法就会被调用...; 由Observable通过自身ObservableOnSubscribesubscribe() onNext()等方法自动发出信息, observer接收到信息后执行对应onNext...()等方法; 在订阅之后,Observer, onSubscribe()是每次接收数据之前必须要调用方法; onNext()则是对应Observable调用次数去调用相应次数; onComplete...用法示例 (用于监听Observable发送数据, 如果Observable发送数据等于某个值, 就断绝订阅关系): ?

2.1K20

Carson带你学Android:RxJavaRetrofit联合使用汇总(含实例教程)

前言 在Andrroid开发,网络请求十分常用,而在Android网络请求库Retrofit是当下最热一个网络请求库 Retrofit之所以作为现在最流行网络请求库,其中一个主要原因是:支持...URL地址 // getCall()是接受网络请求数据方法 } // RxJava 方式:Observable<.....实例 创建 网络请求接口实例 并 配置网络请求参数(区别于传统形式) 发送网络请求(区别于传统形式) 发送网络请求 对返回数据进行处理 本实例侧重于说明 RxJava 线程控制,关于Retrofit...变换操作符FlatMap()实现嵌套网络请求 具体实现 具体请看文章: Android RxJava 实际应用讲解:网络请求嵌套回调 5.4 网络请求出错重连 需求场景 功能需求说明...2个服务器发送网络请求 ->> 获取数据 ->> 合并数据 ->> 统一展示到客户端 具体实现 具体请看文章:Android RxJava 实际应用讲解:合并数据源 至此,关于Retrofit

1.1K20

Android RxJava应用:优雅实现网络请求轮询(无条件)

今天,我将为大家带来 Rxjava创建操作符常见开发应用场景:轮询需求 ,并结合RetrofitRxJava 实现,希望大家会喜欢。...需求场景 注:关于 Rxjava延时创建操作符interval() 和 intervalRange()使用请看文章Android RxJava:最基础操作符详解 - 创建操作符 2....具体实现 下面我将结合 RetrofitRxJava 实现轮询需求 3.1 步骤说明 添加依赖 创建 接收服务器返回数据 类 创建 用于描述网络请求 接口(区别于传统Retrofit形式) 创建...Retrofit 实例 创建 网络请求接口实例 并 配置网络请求参数(区别于传统Retrofit形式) 发送网络请求(区别于传统Retrofit形式) 发送网络请求 对返回数据进行处理 本实例侧重于说明...RxJava 轮询需求,关于Retrofit使用请看文章:这是一份很详细 Retrofit 2.0 使用教程(含实例讲解) 3.2 步骤实现 步骤1: 添加依赖 a.

86620

Android RxJava 实战讲解:优雅实现 网络请求轮询

本系列文章主要基于 Rxjava 2.0 接下来时间,我将持续推出 Android Rxjava 2.0 一系列文章,包括原理、操作符、应用场景、背压等等 ,有兴趣可以继续关注Carson_Ho...注:关于 Rxjava延时创建操作符interval() 和 intervalRange()使用请看文章Android RxJava:最基础操作符详解 - 创建操作符 ---- 2....具体实现 下面我将结合 RetrofitRxJava 实现轮询需求 3.1 步骤说明 添加依赖 创建 接收服务器返回数据 类 创建 用于描述网络请求 接口(区别于传统Retrofit形式) 创建...Retrofit 实例 创建 网络请求接口实例 并 配置网络请求参数(区别于传统Retrofit形式) 发送网络请求(区别于传统Retrofit形式) 发送网络请求 对返回数据进行处理 本实例侧重于说明...总结 本文主要讲解了 Rxjava创建操作符实际开发需求场景:轮询需求 ,并结合RetrofitRxJava 实现 接下来时间,我将持续推出 Android Rxjava 2.0 一系列文章

2.3K40
领券