首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    RxJava + Retrofit 前言 本文基于RxJava、Retrofit的使用,若是对RxJava或Retrofit还不了解的简友可以先了解RxJava、Retrofit的用法再来看这篇文章。...Observable...是不是觉得很熟悉,这货不就是之前在RxJava使用到的被监听者? 3、使用Observable完成一个网络请求,登录成功后保存数据到本地。...(MyService.class); service.login(phone, password) //获取Observable对象...可以看到,调用了service的login方法后得到Observable对象,在新的线程中执行网络请求,请求成功后切换到io线程执行保存用户信息的动作,最后再切换到主线程执行请求失败onError()、...使用RxJava + Retrofit来完成这样的请求(借用抛物线的例子,稍微做了点改动) //登录,获取token @GET("/login") public Observable

    1.4K100

    Android RxJava应用:网络请求出错重连(结合Retrofit)

    今天,我将为大家带来 Rxjava创建操作符的实际开发需求场景:网络请求出错重连需求 ,并结合Retrofit 与RxJava 实现,希望大家会喜欢。...compile 'com.squareup.retrofit2:retrofit:2.1.0' // 衔接 Retrofit & RxJava // 此处一定要注意使用RxJava2的版本 compile...a=fy&f=auto&t=auto&w=hello%20world // 参数说明: // a:固定值 fy // f:原文内容类型,日语取 ja,中文取 zh,英语取 en,韩语取 ko,德语取...// Retrofit把网络请求的URL分成了两部分:一部分放在Retrofit对象里,另一部分放在网络请求接口里 // 如果接口里的url是一个完整的网址,那么放在Retrofit对象里的...对象 Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://fy.iciba.com/"

    1.6K20

    Android RxJavaRxAndroid结合Retrofit使用

    观察者模式 假设现在有两个对象A和B,在A发生某种变化时要主动通知B。这就是观察者模式。...RxJava的观察者模式 RxJava基本概念:Observable (被观察者,相当于View)、 Observer (观察者,相当于OnClickListener)、 subscribe ()(订阅...(最新版),在这里我们再简单温习下 创建WeatherInfoService,并制定请求数据的方式以及需要的查询参数 创建相应的WeatherInfoBean 创建Retrofit对象并使用GSON解析数据...调用 weatherInfoService#getWeatherInfo(FORMAT, CITYNAME, KEY),获取call 插入队列,并展示数据 RxJava/RxAndroid结合Retrofit...MainActivity#getWeatherInfoByFlatMap() 使用.map方法只能返回一个值,属于一对一类型。RxJava给我们提供一个更神奇的方法.flatMap()。

    1.5K100

    Android:RxJava 结合 Retrofit 全面实现 网络请求出错重连

    compile 'com.squareup.retrofit2:retrofit:2.1.0' // 衔接 Retrofit & RxJava // 此处一定要注意使用RxJava2的版本 compile...a=fy&f=auto&t=auto&w=hello%20world // 参数说明: // a:固定值 fy // f:原文内容类型,日语取 ja,中文取 zh,英语取 en,韩语取 ko,德语取...// Retrofit把网络请求的URL分成了两部分:一部分放在Retrofit对象里,另一部分放在网络请求接口里 // 如果接口里的url是一个完整的网址,那么放在Retrofit对象里的...对象 Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://fy.iciba.com/"...总结 本文主要讲解了 Rxjava创建操作符的实际开发需求场景:网络请求出错重连需求 ,并结合Retrofit 与RxJava 实现 下面我将结合 实际场景应用 & Rxjava的相关使用框架(如Retrofit

    2K30

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

    今天,我将为大家带来 Rxjava创建操作符的实际开发需求场景:有条件的轮询需求 ,并结合Retrofit 与RxJava 实现,希望大家会喜欢。...compile 'com.squareup.retrofit2:retrofit:2.1.0' // 衔接 Retrofit & RxJava // 此处一定要注意使用RxJava2的版本 compile...a=fy&f=auto&t=auto&w=hello%20world // 参数说明: // a:固定值 fy // f:原文内容类型,日语取 ja,中文取 zh,英语取 en,韩语取 ko,德语取...// Retrofit把网络请求的URL分成了两部分:一部分放在Retrofit对象里,另一部分放在网络请求接口里 // 如果接口里的url是一个完整的网址,那么放在Retrofit对象里的...对象 Retrofit retrofit = new Retrofit.Builder()

    1.3K20

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

    RxJava + Retrofit Retrofit 除了提供了传统的 Callback 形式的 API,还有 RxJava 版本的 Observable 形式 API。...下面我用对比的方式来介绍 Retrofit 的 RxJava 版 API 和传统版本的区别。 以获取一个 MovieEntity 对象的接口作为例子。...start, @Query("count") int count);//RxJava返回Observable对象 Retrofit本身对Rxjava提供了支持,getMovie方法改为: //进行网络请求...; movieService.getTopMovie(0, 10)//返回Observable对象 .subscribeOn(Schedulers.io...,你就会发现RxJava的魅力所在;如果看一遍没有看懂的童鞋,建议多看几次;动手写写代码,我想信本文可以给到你们一些帮助;你们真正的体会到什么是 从入门到放弃再到不离不弃 ;这就是RxJava的魅力所在

    76010

    Android:RxJava 结合 Retrofit 优雅实现 网络请求轮询

    // Android 支持 Retrofit compile 'com.squareup.retrofit2:retrofit:2.1.0' // 衔接 Retrofit & RxJava //...a=fy&f=auto&t=auto&w=hello%20world // 参数说明: // a:固定值 fy // f:原文内容类型,日语取 ja,中文取 zh,英语取 en,韩语取 ko,德语取...// Retrofit把网络请求的URL分成了两部分:一部分放在Retrofit对象里,另一部分放在网络请求接口里 // 如果接口里的url是一个完整的网址,那么放在Retrofit对象里的...对象 Retrofit retrofit = new Retrofit.Builder()...总结 本文主要讲解了 Rxjava创建操作符的实际开发需求场景:有条件轮询需求 ,并结合Retrofit 与RxJava 实现 下面我将结合 实际场景应用 & Rxjava的相关使用框架(如Retrofit

    2.3K30

    Android技能树 — 网络小结(7)之 Retrofit源码详细解析

    + Retrofit ,所以我相关的源码解析都是配合RxJava来的,而不是Call返回对象。...这个图画的很好,但是这个图更多的是从大局观来看,所以如果对于源码不是有一些基础了解的话,看这个图很容易就忘记。...") Observable getInfo(@Query("name") String nameStr); } 复制代码 那我们要拿到: path值:上面创建Retrofit...我们拿到包含了这些红色框参数的ServiceMethod对象后,加上我们传入的绿色的框的nameStr的具体的值,我们已经可以进行网络Request请求的所必要的参数了 (另外一个绿色的框只是用来最后网络请求成功后拿到的...//'我们可以看到上面根据是否异步,建立不同的Observable对象,我们用复杂点的来讲解吧, 就当我们建立的时候使用的是RxJava2CallAdapterFactory.createAsync

    1.4K40

    Android 2 新框架 rxjava ,retrifit

    最后我们看到,这个方法最终返回的是一个Retrofit的对象,初始化完成。...首先一开始先获取几个重要对象:callAdapter、responseType和responseConverter,这三个对象都跟最后的结果有关,我们先不管。...的Request,最终发起网络请求 总结 Retrofit主要是在create方法中采用动态代理模式实现接口方法,这个过程构建了一个ServiceMethod对象,根据方法注解获取请求方式,参数类型和参数注解拼接请求的链接...这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。 Retrofit Retrofit是一个RESTful的Http网络请求框架的封装。...而且Retrofit提供不同的Converter实现(也可以自定义),同时提供RxJava支持(返回Observable对象),配合Gson和RxJava,你可以用很少的代码就实现请求、返回数据解析和操作等功能

    29710

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

    :传统方式采用了 Callback 接口,而RxJava 方式则采用了Observable接口。...a=fy&f=auto&t=auto&w=hello%20world // 参数说明: // a:固定值 fy // f:原文内容类型,日语取 ja,中文取 zh,英语取 en,韩语取 ko,德语取...// Retrofit把网络请求的URL分成了两部分:一部分放在Retrofit对象里,另一部分放在网络请求接口里 // 如果接口里的url是一个完整的网址,那么放在Retrofit对象里的...对象 Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://fy.iciba.com/"...2个服务器发送网络请求 ->> 获取数据 ->> 合并数据 ->> 统一展示到客户端 具体实现 具体请看文章:Android RxJava 实际应用讲解:合并数据源 至此,关于Retrofit

    1.7K21

    Android:Retrofit 与 RxJava联合使用大合集(含实例教程)!

    两种方式在使用上最大的区别在于:传统方式采用了 Callback 接口,而RxJava 方式则采用了Observable接口。...a=fy&f=auto&t=auto&w=hello%20world // 参数说明: // a:固定值 fy // f:原文内容类型,日语取 ja,中文取 zh,英语取 en,韩语取 ko,德语取...// Retrofit把网络请求的URL分成了两部分:一部分放在Retrofit对象里,另一部分放在网络请求接口里 // 如果接口里的url是一个完整的网址,那么放在Retrofit对象里的...对象 Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://fy.iciba.com/"...功能说明 即,同时向2个服务器发送网络请求 ->> 获取数据 ->> 合并数据 ->> 统一展示到客户端 具体实现 具体请看文章:Android RxJava 实际应用讲解:合并数据源 至此,关于

    4.2K20

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

    今天,我将为大家带来 Rxjava创建操作符的常见开发应用场景:轮询需求 ,并结合Retrofit 与RxJava 实现,希望大家会喜欢。...compile 'com.squareup.retrofit2:retrofit:2.1.0' // 衔接 Retrofit & RxJava // 此处一定要注意使用RxJava2的版本 compile...a=fy&f=auto&t=auto&w=hello%20world // 参数说明: // a:固定值 fy // f:原文内容类型,日语取 ja,中文取 zh,英语取 en,韩语取 ko,德语取...// Retrofit把网络请求的URL分成了两部分:一部分放在Retrofit对象里,另一部分放在网络请求接口里 // 如果接口里的url是一个完整的网址,那么放在Retrofit对象里的...创建Retrofit对象 Retrofit retrofit = new Retrofit.Builder() .baseUrl

    1.1K20

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

    compile 'com.squareup.retrofit2:retrofit:2.1.0' // 衔接 Retrofit & RxJava // 此处一定要注意使用RxJava2的版本 compile...a=fy&f=auto&t=auto&w=hello%20world // 参数说明: // a:固定值 fy // f:原文内容类型,日语取 ja,中文取 zh,英语取 en,韩语取 ko,德语取...// Retrofit把网络请求的URL分成了两部分:一部分放在Retrofit对象里,另一部分放在网络请求接口里 // 如果接口里的url是一个完整的网址,那么放在Retrofit对象里的...// 参数2 = 间隔时间数字; // 参数3 = 时间单位; // 该例子发送的事件特点:延迟2s后发送事件,每隔1秒产生1个数字(从0...创建Retrofit对象 Retrofit retrofit = new Retrofit.Builder() .baseUrl

    2.6K40
    领券