UrlRequest

public abstract class UrlRequest


控制 HTTP 要求 (GET、PUT、POST 等)。由 UrlRequest.Builder 建立,只要呼叫 newUrlRequestBuilder 即可取得。注意:所有方法都必須在傳遞至 newUrlRequestBuilderExecutor 上呼叫。

摘要

巢狀型別

public abstract class UrlRequest.Builder

UrlRequest 的建構工具。

public abstract class UrlRequest.Callback

Cronet 使用者會擴充這個類別,以接收回呼,指出正在處理的 UrlRequest 進度。

API 的註解,表示 API 尚未穩定。

public class UrlRequest.Status

getStatus 傳回的要求狀態值。

public abstract class UrlRequest.StatusListener

getStatus 搭配使用的監聽器類別,可接收 UrlRequest 的狀態。

公用建構函式

公用方法

abstract void

取消要求。

abstract void

追蹤待處理的重新導向。

abstract void

查詢要求的狀態。

abstract boolean

如果要求已成功啟動並完成 (完成、取消或失敗),則傳回 true

abstract void
read(ByteBuffer buffer)

嘗試將部分回應主體讀取到提供的緩衝區。

abstract void

啟動要求,所有回呼都會傳送至 Callback

公用建構函式

UrlRequest

public UrlRequest()

公用方法

取消

public abstract void cancel()

取消要求。隨時可以呼叫。取消作業完成時,系統會叫用 onCanceled(),且不會再叫用其他回呼方法。如果要求已完成或尚未開始,呼叫 cancel() 不會產生任何作用,也不會叫用 onCanceled()。如果在 UrlRequest 建構期間傳入的 Executor 在單一執行緒上執行工作,且 cancel() 是在該執行緒上呼叫,則在呼叫 cancel() 後,系統不會叫用任何回呼方法 (onCanceled() 除外)。否則, cancel() 完成後最多只能叫用一個回呼方法。

followRedirect

public abstract void followRedirect()

追蹤待處理的重新導向。每次叫用 onRedirectReceived() 時,最多只能呼叫一次。

getStatus

public abstract void getStatus(UrlRequest.StatusListener listener)

查詢要求的狀態。

參數
UrlRequest.StatusListener listener

系統會使用要求的目前狀態叫用 StatusListener。建立要求時傳入的 Executor 會叫用 listener

isDone

public abstract boolean isDone()

如果要求已成功啟動並完成 (完成、取消或失敗),則傳回 true

傳回
boolean

如果要求已順利啟動並完成 (已完成、取消或失敗),則為 true

讀取

public abstract void read(ByteBuffer buffer)

嘗試將部分回應主體讀取到提供的緩衝區。針對 CallbackonResponseStarted()onReadCompleted() 方法的每次叫用,最多只能呼叫一次。每次呼叫都會導致對 Callback'sonReadCompleted() 方法進行非同步呼叫 (如果讀取資料)、對 onSucceeded() 方法進行非同步呼叫 (如果沒有更多資料可讀取),或對 onFailed() 方法進行非同步呼叫 (如果發生錯誤)。

參數
ByteBuffer buffer

ByteBuffer:將回應主體寫入的目標。必須是直接 ByteBuffer。在要求回呼至 Callback 之前,嵌入器不得讀取或修改緩衝區的位置、限制或資料 (介於位置和限制之間)。

開始

public abstract void start()

啟動要求,所有回呼都會傳送至 Callback。只能呼叫一次。如果已呼叫 cancel,可能不會呼叫這個函式。