UrlRequest

public abstract class UrlRequest extends Object

控制 HTTP 请求(GET、PUT、POST 等)。由 UrlRequest.Builder 创建,通过调用 CronetEngine.newUrlRequestBuilder(String, UrlRequest.Callback, Executor) 获取。注意:所有方法都必须在传递给 CronetEngine.newUrlRequestBuilder(String, UrlRequest.Callback, Executor)Executor 上调用。

嵌套类摘要

class UrlRequest.Builder 用于 UrlRequest 的构建器。 
class UrlRequest.Callback Cronet 用户扩展此类以接收回调,指示正在处理的 UrlRequest 的进度。 
class UrlRequest.Status UrlRequest.getStatus(UrlRequest.StatusListener) 返回的请求状态值。 
class UrlRequest.StatusListener UrlRequest.getStatus(UrlRequest.StatusListener) 一起使用的监听器类,用于接收 UrlRequest 的状态。 

公共构造函数摘要

公共方法摘要

abstract void
cancel()
取消请求。
abstract void
followRedirect()
跟踪待处理的重定向。
abstract void
getStatus(UrlRequest.StatusListener listener)
查询请求的状态。
abstract boolean
isDone()
如果请求已成功启动并已完成(已完成、已取消或已失败),则返回 true
abstract void
read(ByteBuffer buffer)
尝试将部分响应正文读取到提供的缓冲区中。
abstract void
start()
启动请求,所有回调都会转到 UrlRequest.Callback

继承方法摘要

公共构造函数

public UrlRequest ()

公共方法

public abstract void cancel ()

取消请求。可随时调用。onCanceled() 将在取消完成后调用,并且不会再调用其他回调方法。如果请求已完成或尚未开始,则调用 cancel() 无效,且不会调用 onCanceled()。如果在 UrlRequest 构造期间传入的 Executor 在单线程上运行任务,并且在该线程上调用了 cancel(),则在调用 cancel() 后不会调用除 onCanceled() 之外的回调方法。否则,在 cancel() 完成后,最多可以调用一个回调方法。

public abstract void followRedirect ()

跟踪待处理的重定向。对于每次调用 onRedirectReceived(),最多只能调用一次。

public abstract void getStatus (UrlRequest.StatusListener listener)

查询请求的状态。

参数
listener 一个 UrlRequest.StatusListener,它将被调用以获取请求的当前状态。listener 将在创建请求时传入的 Executor 上回调。

public abstract boolean isDone ()

如果请求已成功启动并已完成(已完成、已取消或已失败),则返回 true

返回
  • 如果请求已成功启动并已完成(已完成、已取消或已失败),则返回 true

public abstract void read (ByteBuffer buffer)

尝试将部分响应正文读取到提供的缓冲区中。仅可在每次调用 onResponseStarted()onReadCompleted() 方法后最多调用一次。每次调用都会导致异步调用 CallbackonReadCompleted() 方法(如果读取了数据),或者如果再没有数据可读取,则调用其 onSucceeded() 方法,或者如果发生错误,则调用其 onFailed() 方法。

参数
buffer 用于写入响应正文的 ByteBuffer。必须是直接 ByteBuffer。在请求回调到 UrlRequest.Callback 之前,嵌入者不得读取或修改缓冲区的位置、限制或其位置与限制之间的数据。

public abstract void start ()

启动请求,所有回调都会转到 UrlRequest.Callback。只能调用一次。如果已调用 cancel(),则不能调用此方法。