App 组件化/模块化之路——如何封装网络请求框架

  • 时间:
  • 浏览:0
  • 来源:大发5分PK10APP下载_大发5分PK10APP官网

关键的代码是在 doRequest() 土措施中,该土措施实现了网络请求的代码,返回有一有还还有一个 Pair<Integer,String>对象,该对象的 first 属性是有一有还还有一个 请求 code ,用于标识网络请求码(即是网络请求返回的400,404,4001等)。而 second 很多网络请求的数据。

项目地址:https://github.com/wecodexyz/Componentization

很多在 App 组件化/模块化开发架构思路 一文中,让当让当我们 把网络请求作为内核层的有一有还还有一个 组件。

注意这人类封装是纯粹的网络请求,不应该中有 业务类相关的代码。但会 无防止上文提出的有一有还还有一个 间题报告 。

假设有有一有还还有一个 请求业务数据接口,返回数据是有一有还还有一个 字符串。没有 让当让当我们 使用让当让当我们 的框架很多来使用。本文例子是请求让当让当我们 项目中的 README.md 的内容。用起来非常简单,我希望继承于 BaseTextRequest,并实现 getUrl()onRequestFinish() onRequestError()getHttpMethod() 这几只土措施。

这人类很多网络请求框架提供给业务类使用的有一有还还有一个 接口。本文一开始就提出来 json 作为交互数据请求的协议。没有 此类的封装全部都是能助 业务数据的访问。

可能性请求网络是耗时的操作,rxjava2 来实现网络请求异步操作。 request 是对 RequestWrapper.doRequest() 土措施的封装,并得到有一有还还有一个 Flowable 对象。同去定义了 onRequestFinish()onRequestError() 有一有还还有一个 土措施。

首先预览一下框架特性

这人类封装了网络请求的通用接口,定义请求接口 doRequest() 、获取请求连接 getUrl() 、获取请求土措施 getHttpMethod() 等。

这有一有还还有一个 土措施很多具体业务类要防止的逻辑。

这人类是个抽象类,对 IRequest 的实现。目前是有一有还还有一个 简单封装的实现。

一般来说,目前绝大帕累托图 App 的数据请求全部都是使用 HTTP 协议,而数据交换的协议使用 json 格式。但会 回会 封装有一有还还有一个 通用的请求接口。(当然还有很多协议,同类微信的 mars ,但会 封装的思路是一致的,本文为了简单说明,暂时使用通用网络请求框架,不排除过回会对 mars 的封装)

本文运行的结果

但会 让当让当我们 构建的网络请求框架回会 能防止以下间题报告 :

在 App 开发中网络请求是每个开发者必备的开发库,也经常经常出现了很多优秀开源的网络请求库。同类

注意严格来说这是有一有还还有一个 业务类,很多是不应该倒进 core 目录下的。

这人类是有一有还还有一个 泛型类,继承于 Request 并对第三方请求库的封装。同类本文很多对 okhttp 的封装,而泛型 T 对象很多请求得到的具体数据类型。可能性要对很多请求库进行封装,就回会 参考这人类的实现。

哪些地方地方网络请求库很大程度上提高应用应用程序猿的编码速率单位。但会 随着业务的发展,App 变得没有 大,让当让当我们 将哪些地方地方网络请求库加入到项目中直接使用,对让当让当我们 业务类的入侵是非常强的。可能性要进行业务分离时,哪些地方地方网络请求代码将是有一有还还有一个 阻止让当让当我们 进一步工作的绊脚石。对开发者来说是非常痛苦的。

猜你喜欢

我问女生想要什么生日礼物,她说我还记得她生日,她以为我忘了,然后她说随便吧 她什么意思?

 我来答我我随便说说知道她有哪些意思不如知道你个人有哪些想法,你时候对她有感觉,那就平时对她多关心些,多聊聊,没事多找她转转,另假使 就算不说出我喜欢你这种 语句,两人之

2020-01-19

万网云解析设置二级域名解析到同IP不同端口

怎样使用阿里云搭建wordpress网站(图文教程+小白专用+Linux版)?现在也能 换成解析,记录类型选择隐性URL,主机记录写想用的名字,例如于asp,解析地址写你想进

2020-01-19

人一生总会先暗恋几个人,再错过几个人,到最后才遇到对的人

本回答被提问者采纳你对什儿 回答的评价是?为你推荐:使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。经历充足!是的追问展开详细不怎么推荐展开详

2020-01-19

值得职场人反思的工作心态:工作不顺利到底是谁的问题

这人人 要自学认识各人 ,知道各人 的能力,知道各人 的瓶颈,人无完人都需要慢慢的完善各人 ,要想处置工作中哪此麻烦,就要揪出间题的源头,知道各人 的存在

2020-01-19

谁的人生里没有几个人渣.哈哈哈

扫描二维码下载下载百度知道APP,抢鲜体验相濡以沫不如相忘于江湖,刻意的忘记骗得后来 该人 ,与其忘记倒不如顺其自然, 我来答谁的秦春里没爱过几该人 渣,换一换等到你

2020-01-19