首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

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

1K100

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

今天,我将为大家带来 Rxjava创建操作符的实际开发需求场景:网络请求出错重连需求 ,并结合RetrofitRxJava 实现,希望大家会喜欢。...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.3K20

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.2K100

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

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

67410

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

今天,我将为大家带来 Rxjava创建操作符的实际开发需求场景:有条件的轮询需求 ,并结合RetrofitRxJava 实现,希望大家会喜欢。...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()

96820

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创建操作符的实际开发需求场景:网络请求出错重连需求 ,并结合RetrofitRxJava 实现 下面我将结合 实际场景应用 & Rxjava的相关使用框架(如Retrofit

1.7K30

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创建操作符的实际开发需求场景:有条件轮询需求 ,并结合RetrofitRxJava 实现 下面我将结合 实际场景应用 & Rxjava的相关使用框架(如Retrofit

2K30

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

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

1.3K40

Kotlin结合Rxjava+Retrofit实现极简网络请求的方法

//Rxjava compile 'io.reactivex:rxandroid:1.2.0' compile 'io.reactivex:rxjava:1.2.0' //Retrofit compile...Application中完成,使用时通过Application获取Retrofit。...通过Application获取Retrofit后,我们就可以通过它去调用我们刚刚在接口中定义的方法,因为配置了RxJava,所以调用方法后会返回一个Observable,这也是我们在接口中定义的返回类型...其中还看到了completed:() – Unit = { Log.e(“completed”,”completed”) }这里用到了Kotlin的参数默认,通过=号将右边当做左边方法的默认实现,如果操作者没有实现这个方法...,参数也可以通过it获取 }) runRxLambda(retrofit().load(),{ //我们在这里的操作就相当于在onNext中的操作,参数可以通过it获取 },{ //这里就是onError

2.2K30

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

:传统方式采用了 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.1K20

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

两种方式在使用上最大的区别在于:传统方式采用了 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 实际应用讲解:合并数据源 至此,关于

4K20

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.3K40

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

今天,我将为大家带来 Rxjava创建操作符的常见开发应用场景:轮询需求 ,并结合RetrofitRxJava 实现,希望大家会喜欢。...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

87920

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

RxJava + Retrofit + okHttp 已成为当前Android 网络请求最流行的方式。...使用步骤,接下来我们结合RxJava讲述 ReTrofit+Rxjava基本使用 对比之前的Retrofit使用 1.在于我们需要修改service接口返回信息我们需要返回一个Observable对象...); 2.然后初始化Retrofit需要添加对Rxjava的适配,注意一定要retrofit2才有这个功能哦 Retrofit retrofit = new Retrofit.Builder()...(isAll()); } } 通过传入的Retrofit对象,可以随意切换挑选Service对象,得到定义的注解方法,初始完成以后返回Observable对象。...得到Observable对象,得到Observable对象以后,我们就能随意的切换现成来处理,整个请求通过compose设定的rxlifecycle来管理生命周期,所以不会溢出和泄露无需任何担心,最后再服务器数据返回时

5.9K10
领券