概述
本篇介绍请求相关的类,主要包括Request<T>
和RequestQueue
两部分。
Part 1 ——Request
成员变量
Request<T>
的主要属性如下:
int mMethod
:请求的类型,即GET、POST、PUT等String mUrl
:请求的urlString mIdentifier
:请求的唯一标识Response.ErrorListener mErrorListener
:用于错误处理的回调接口,是Response
的静态内部类Integer mSequence
:记录请求到达的先后顺序RequestQueue mRequestQueue
:所在在请求队列boolean mShouldCache
:请求结果是否需要缓存boolean mCanceled
:请求是否被取消了boolean mResponseDelivered
:请求结果是否已处理Cache.Entry mCacheEntry
:缓存,用于检验缓存一致性
多数属性都比较容易理解,其他的只是列出,会在后续博客逐步涉及。
构造函数
Request
类有两个重载的构造函数,而且很简单:
public Request(String url, Response.ErrorListener listener);
public Request(int method, String url, Response.ErrorListener listener);
必须提供的是url和ErrorListener,method如果没有,默认值是GET。另外,只有错误处理接口ErrorListener是放在Request类中的,而正常情况下的响应处理接口是放在子类中的,这体现了框架的扩展性。
抽象方法
有两个子类必须重写的抽象方法: