android网络框架volley学习之整体篇

android网络框架Volley整体来看主要有以下的接口和类:

1、基本数据类

Request:此类为请求类(抽象类),封装了请求体的一些属性,例如:请求方法、请求的地址、请求参数和请求头等。当然还有对应的一些方法,未实现的方法等。

NetworkResponse:网络响应类,其实是一个中间转化类,最终由Request解析此类生成本地的Response类。

Entry:缓存文件类,用来存放响应的数据。

CacheHeader:缓存头,缓存文件的标志(少了缓存文件的数据属性),可以和缓存文件相互转换。

Response:本地的响应体,主要是有三个属性,包括:解析之后的数据、关联的缓存体和错误。

2、接口

Cache:此接口主要用来构建缓存文件系统,同时其含有一个内部类Entry,用来存放响应的数据。

HttpStack:此接口主要是实现网络访问的接口,网络通信连接的操作就需要在此中进行。其中只有一个未实现的方法:performRequest(request,additiondsHeader),要求返回HttpResponse对象。

Network:网络访问的包装接口,返回对象为自定义的NetworkResponse对象。

ResponseDelivery:此接口将解析好的Response对象返回给发出请求的客户端。

3、功能类

HurlStack:实现了HttpStack接口,通过HttpUrlConnections建立网络通信,并将返回的数据构建为HttpResponse对象(当android版本大于等于2.2版本使用此类进行网络连接)。

HttpClientStack实现了HttpStack接口,通过HttpClient建立网络通信,执行请求生成HttpResponse对象(当android版本小于2.2版本使用此类进行网络连接)。

BasicNetwork:实现了Network接口。包装了HurlStack或HttpClientStack对象,调用他们共同的方法,生成HttpResponse对象。通过HttpResponse对象构建自定义的NetworkResponse类。

DiskBasedCache:实现了Cache接口,覆写了所有的父类方法,构建了本地的缓存文件系统。

ExecuterDelivery:实现了ResponseDelivery接口。

Volley:用来生成RequestQueue类,使用Volley进行网络通信的第一步。

4、逻辑和线程类

RequestQueue:客户端发出请求时,此类负责根据请求的不同属性,放在不同的线程处理类中获取响应。同时也是本地和网络调度器生出的类。

CacheDispatcher:本地调度器,继承了Thread类。负责处理本地队列中的请求。

NetworkDispatcher:网络调度器。继承了Thread类。负责处理网络队列中的请求。

其中各类的关系如下图(图中黄色为类,浅绿色为接口,粉色为描述):


Volley网络通信框架的类UML图

这篇博客说是android网络框架volley学习之整体篇,但实际上还是缺此框架的异常处理系统。

错误之处,请大家指出,共同学习。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值