Android---构建一个自己的网络框架以及源码--点击下载
Android应用开发中,网络框架是最基础的部分,往往在应用开发之初就一般会选择好自己中意的第三方网络框架,或者沿用自己的网络框架。目前市面上主要的安卓网络框架有okhttp,retrofit,android-async-http,volley等,各有优劣,开发者们根据自己应用的需要,选择对应的网络框架即可。总之应用选择网络请求框架肯定是根据应用的需求来选择,当一个应用基于保密原则不能选用第三方网络框架,或者应用本身并不是很复杂,那么构建一个自己的网络框架是一个好的选择。
网络框架架构
1、构建请求
构建请求主要是根据请求的数据类型进行不同的请求数据构建。例如数据类型为json的对应为JsonRequest,数据类型为XML的为XmlRequest,如果需要上传文件,那么你需要使用MultipartRequest等等。如果你的应用中只有一种数据类型,那么在这个应用中的网络框架就实现一种数据类型即可。
2、消息队列
消息队列维护提交给网络框架的请求列表,并且根据相应的规则进行排序。
3、执行线程
执行线程在run方法中执行网络请求,请求完成之后将结果投递给响应分发。
4、响应分发
收到请求结果后,处理公共的请求错误,将数据转交给请求中的解析器。
5、数据解析
根据约定的数据协议解析数据。
下面看一个常用的网络框架okhttp的原理图:
这些常用的网络框架大致也是依据上列的原理而来,只是实现的逻辑原理会有不同,细节的处理会有不同。
下面来开始构建我们自己的网络请求框架。