网站首页 > 开源技术 正文
本文讲述如何使用rxjava2+rxandroid+retrofit2+okhttp3搭建网络框架,据说他们是绝配,我自己目前使用的还是okhttp3,至于使用不使用,我们都应该会,他们具体的相关知识不过多解释,大家可以逐个学习并了解。
第一步:当然是添加依赖了,在app下的build.gradle添加就行了,很简单,如下图设置,没有其他额外配置。
第二步,封装retrofit2网络请求设置。单例模式,全局只使用一个网络请求来操作。
其中addCallAdapterFactory(RxJava2CallAdapterFactory.create())是添加rxjava转换器, ApiService就是retrofit2请求的具体接口参数方法等。okHttpClient只是简单的创建了一下,可以添加拦截器,cookie,以及支持https等等,大家可以自行优化.
retrofit2默认使用okhttp,相关依赖无需集成,retrofit2自带了。
ApiService的相关代码见下图:
参数建议大家都用这样可以灵活的传入参数,参数格式就是map键值对形式。返回值我就简单的用了okhttp的ResponseBody,因为我直接返回的是字符串数据,大家也可以根据服务器的返回数据来进行具体的封装成实体类这在里返回。
第三步:使用rxjava2异步发起请求的封装
先上代码:
为了方便集中管理维护多个请求方法,我将请求统一放在了httpCenter类中,需要请求的地方调用此类即可。parm就是需要传入的键值对参数。RequestParam只是继承了map,没什么讲的哈。
这一句就是使用rxjava2进行发送请求了,请求结果发送给我们上层传入进来的Observer.
第四步:调用
红框部分就是具体的调用方法了。是不是很简单,结果直接返回在onNext方法中。然后进行处理即可。
我学了大半天,除了他们各自的知识,大概就了解了这么多,具体的优化还有很多啦,比如说错误处理,支持https等。
需要源码的话:微chat号【图开森】,发送网络请求源码+邮箱 我可以发给您。写的不是多好,但是真的很适合想入门的同学学习了。
猜你喜欢
- 2024-09-28 我放弃了okhttp、httpClient,选了这个神仙工具
- 2024-09-28 很懵圈,记录一次MinIO 使用okhttp版本的问题?
- 2024-09-28 android学习,OkHttp,拦截器(okhttp自定义拦截器放在哪一层)
- 2024-09-28 Okhttp上传图片失败,居然是服务端的锅?(一)
- 2024-09-28 工作日报 2021.10.20 OkHttp3错误异常:unexpected end of stream
- 2024-09-28 深入浅出 OkHttp 源码解析及应用实践
- 2024-09-28 用OkHttp实现WebSocket长连接(利用输入实现预期结果的相互关联或者相作用的一组活动 描述的是)
- 2024-09-28 干货-okHttp的优点-收藏了(水瓶座女的缺点和优点)
- 2024-09-28 软件更新丨OkHttp 4.0.0 RC 3 发布,从 Java 切换到 Kotlin
- 2024-09-28 开发者必备的Android开发资源之OkHttp
你 发表评论:
欢迎- 03-19基于layui+springcloud的企业级微服务框架
- 03-19开箱即用的前端开发模板,扩展Layui原生UI样式,集成第三方组件
- 03-19SpringMVC +Spring +Mybatis + Layui通用后台管理系统OneManageV2.1
- 03-19SpringBoot+LayUI后台管理系统开发脚手架
- 03-19layui下拉菜单form.render局部刷新方法亲测有效
- 03-19Layui 遇到的坑(记录贴)(layui chm)
- 03-19基于ASP.NET MVC + Layui的通用后台开发框架
- 03-19LayUi自定义模块的定义与使用(layui自定义表格)
- 最近发表
-
- 基于layui+springcloud的企业级微服务框架
- 开箱即用的前端开发模板,扩展Layui原生UI样式,集成第三方组件
- SpringMVC +Spring +Mybatis + Layui通用后台管理系统OneManageV2.1
- SpringBoot+LayUI后台管理系统开发脚手架
- layui下拉菜单form.render局部刷新方法亲测有效
- Layui 遇到的坑(记录贴)(layui chm)
- 基于ASP.NET MVC + Layui的通用后台开发框架
- LayUi自定义模块的定义与使用(layui自定义表格)
- Layui 2.9.11正式发布(layui2.6)
- Layui 2.9.13正式发布(layui2.6)
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)