虽然,网络上有很多的网络请求框架,在git上面也有不少。虽然,很流行retrofit(当然,我下一篇也会写这个玩意)。但是,我感觉,不够简洁和好用。所以,自己就索性写了一个。
当然,东西有点多,就不一一介绍了,就讲几个关键点。其他的,我会提供我的git地址。自行看源码。
ok,先讲一个东西。我只讲前端的。
以Android为例,我们网络请求,是用来干嘛的?
答案:请求服务器,获取数据或者传递数据。
那么作为Android端,需要关注什么呢?
这个问题,可能就没有前面一个问题好回答了。我这里只是给出自己的理解:
什么时候开始请求(获取数据和传递数据都通称为请求),请求结果是什么,请求过程中该怎么显示(请求是一个“缓慢”的过程,要给用户一个比较好的体验),请求完成之后干什么?
当然,这不是标准答案,我只是提出我考虑的点。
其实,换成简洁一些的语言就是:请求开始,请求结果,请求中的loading,请求结束后UI的更新或者数据的更新。
那么,我们写这个框架,就要从这几个角度来思考。
这里,我要着重说一点的是,我们封装一个东西,一定是为了解决某个或者某一类问题,才做的事情。我们用一个框架,也是要从我们的具体使用场景出发去考虑是否用这个框架。
好了,道理就讲到这里,后面我开始讲我写的这个东西了。我先讲使用:
以上就是,要实现一个网络请求所需要的步骤。当然,第三步,没什么需要讲的,是个请求都是这么写的。
是不是很简洁,特别是调用的时候,每一句话,都代表了我前面讲的那些关注点。最后再补充一点,就是用于一些需要统一处理的情况:
简单使用,基本就是这样。
我这个框架里面,几乎可以实现你常用的所有需求。
自定义header,上传文件,普通请求,get,post,body三种请求方式也封装了。自定义loading,loading和请求绑定,不需要去管理等。
结构也比较简单:
当然,要想真正了解和使用,还是需要下载源码看看的。
https://github.com/LuckyCode1992/network_framework