UrlRequest.Builder

public abstract class UrlRequest.Builder


ผู้รับสร้างบ้านสำหรับ UrlRequest อนุญาตให้กำหนดค่าคำขอก่อนสร้างด้วย build คุณสร้างเครื่องมือสร้างได้โดยการเรียกใช้ newUrlRequestBuilder

สรุป

ค่าคงที่

static final int

ลำดับความสำคัญของคำขอสูงสุด

static final int

ลำดับความสำคัญของคำขอต่ำสุด

static final int

ลำดับความสำคัญของคำขอต่ำ

static final int

ลำดับความสำคัญของคำขอต่ำมาก

static final int

ลำดับความสำคัญของคำขอระดับปานกลาง

เครื่องมือสร้างสาธารณะ

เมธอดสาธารณะ

abstract UrlRequest.Builder
addHeader(String header, String value)

เพิ่มส่วนหัวของคำขอ

UrlRequest.Builder

เชื่อมโยงออบเจ็กต์คำอธิบายประกอบกับคำขอนี้

abstract UrlRequest.Builder

เครื่องหมายที่ผู้ดำเนินการคำขอนี้จะใช้เพื่อแจ้งเตือนการเรียกกลับ (สำหรับ UploadDataProvider และ UrlRequest.Callback) จะดำเนินการแบบอินไลน์โดยเจตนา เช่น directExecutor ของ Guava หรือ java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy

UrlRequest.Builder
bindToNetwork(long networkHandle)

เชื่อมโยงคำขอกับแฮนเดิลเครือข่ายที่ระบุ

abstract UrlRequest

สร้าง UrlRequest โดยใช้การกำหนดค่าภายใน Builder นี้

abstract UrlRequest.Builder

ปิดใช้แคชสำหรับคำขอ

abstract UrlRequest.Builder

ตั้งค่าคำกริยาของเมธอด HTTP ที่จะใช้สำหรับคำขอนี้

abstract UrlRequest.Builder
setPriority(int priority)

กำหนดลำดับความสำคัญของคำขอ ซึ่งควรเป็นค่าใดค่าหนึ่งของ REQUEST_PRIORITY_*

UrlRequest.Builder
@UrlRequest.Experimental
setRawCompressionDictionary(
    byte[] dictionarySha256Hash,
    ByteBuffer dictionary,
    String dictionaryId
)

อนุญาตให้ Cronet ใช้พจนานุกรมการบีบอัดที่ระบุสำหรับคำขอนี้

UrlRequest.Builder

ตั้งค่า Listener ที่จะเรียกใช้หลังจาก onCanceled(), onFailed() หรือ onSucceeded() กลับมา

UrlRequest.Builder

ตั้งค่าแท็ก android.net.TrafficStats ที่จะใช้เมื่อพิจารณาการเข้าชมซ็อกเก็ตที่เกิดจากคำขอนี้

UrlRequest.Builder

ตั้งค่า UID ที่เฉพาะเจาะจงเพื่อใช้เมื่อบันทึกการรับส่งข้อมูลของซ็อกเก็ตที่เกิดจากคำขอนี้

abstract UrlRequest.Builder
setUploadDataProvider(
    UploadDataProvider uploadDataProvider,
    Executor executor
)

ตั้งค่าผู้ให้บริการข้อมูลการอัปโหลด

ค่าคงที่

REQUEST_PRIORITY_HIGHEST

public static final int REQUEST_PRIORITY_HIGHEST = 4

ลำดับความสำคัญของคำขอสูงสุด ส่งต่อให้ setPriority แล้ว

REQUEST_PRIORITY_IDLE

public static final int REQUEST_PRIORITY_IDLE = 0

ลำดับความสำคัญของคำขอต่ำสุด ส่งต่อให้ setPriority แล้ว

REQUEST_PRIORITY_LOW

public static final int REQUEST_PRIORITY_LOW = 2

ลำดับความสำคัญของคำขอต่ำ ส่งต่อให้ setPriority แล้ว

REQUEST_PRIORITY_LOWEST

public static final int REQUEST_PRIORITY_LOWEST = 1

ลำดับความสำคัญของคำขอต่ำมาก ส่งต่อให้ setPriority แล้ว

REQUEST_PRIORITY_MEDIUM

public static final int REQUEST_PRIORITY_MEDIUM = 3

ลำดับความสำคัญของคำขอระดับปานกลาง ส่งต่อให้ setPriority แล้ว นี่คือลำดับความสำคัญเริ่มต้นที่กำหนดให้กับคำขอ

เครื่องมือสร้างสาธารณะ

Builder

public Builder()

เมธอดสาธารณะ

addHeader

public abstract UrlRequest.Builder addHeader(String header, String value)

เพิ่มส่วนหัวของคำขอ

พารามิเตอร์
String header

ชื่อส่วนหัว

String value

ค่าของส่วนหัว

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

addRequestAnnotation

public UrlRequest.Builder addRequestAnnotation(Object annotation)

เชื่อมโยงออบเจ็กต์คำอธิบายประกอบกับคำขอนี้ อาจเพิ่มได้มากกว่า 1 รายการ ส่งต่อไปยัง RequestFinishedInfo.Listener โปรดดู getAnnotations

พารามิเตอร์
Object annotation

ออบเจ็กต์ที่จะส่งไปยัง RequestFinishedInfo.Listener ด้วย RequestFinishedInfo

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

allowDirectExecutor

public abstract UrlRequest.Builder allowDirectExecutor()

เครื่องหมายที่ผู้ดำเนินการคำขอนี้จะใช้เพื่อแจ้งเตือนการเรียกกลับ (สำหรับ UploadDataProvider และ UrlRequest.Callback) จะดำเนินการแบบอินไลน์โดยเจตนา เช่น directExecutor ของ Guava หรือ java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy

คำเตือน: ตัวเลือกนี้อาจทำให้บล็อกเธรดเครือข่ายโดยไม่ตั้งใจได้ง่าย ไม่ควรใช้หากการเรียกกลับของคุณดำเนินการ I/O ของดิสก์ รับล็อก หรือเรียกใช้โค้ดอื่นๆ ที่คุณไม่ได้ควบคุมและตรวจสอบอย่างรอบคอบ

bindToNetwork

public UrlRequest.Builder bindToNetwork(long networkHandle)

เชื่อมโยงคำขอกับแฮนเดิลเครือข่ายที่ระบุ Cronet จะส่งคำขอนี้โดยใช้เฉพาะเครือข่ายที่เชื่อมโยงกับแฮนเดิลนี้ หากเครือข่ายนี้ตัดการเชื่อมต่อ คำขอจะล้มเหลว โดยข้อผิดพลาดที่แน่นอนจะขึ้นอยู่กับขั้นตอนการประมวลผลคำขอเมื่อเครือข่ายตัดการเชื่อมต่อ คุณรับแฮนเดิลเครือข่ายได้ผ่าน Network#getNetworkHandle พร้อมใช้งานตั้งแต่ Android Marshmallow เป็นต้นไปเท่านั้น

พารามิเตอร์
long networkHandle

แฮนเดิลเครือข่ายที่จะเชื่อมโยงคำขอ ระบุ UNBIND_NETWORK_HANDLE เพื่อยกเลิกการเชื่อมโยง

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

สร้าง

public abstract UrlRequest build()

สร้าง UrlRequest โดยใช้การกำหนดค่าภายใน Builder นี้ จากนั้นคุณจะเริ่มใช้ UrlRequest ที่ส่งคืนมาได้โดยโทรหา start

การคืนสินค้า
UrlRequest

สร้าง UrlRequest โดยใช้การกำหนดค่าภายใน Builder นี้

disableCache

public abstract UrlRequest.Builder disableCache()

ปิดใช้แคชสำหรับคำขอ หากไม่ได้ตั้งค่าบริบทให้ใช้แคช การเรียกนี้จะไม่มีผล

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setHttpMethod

public abstract UrlRequest.Builder setHttpMethod(String method)

ตั้งค่าคำกริยาของเมธอด HTTP ที่จะใช้สำหรับคำขอนี้

ค่าเริ่มต้นเมื่อไม่ได้เรียกใช้เมธอดนี้คือ "GET" หากคำขอไม่มีเนื้อหา หรือ "POST" หากมีเนื้อหา

พารามิเตอร์
String method

"GET", "HEAD", "DELETE", "POST" หรือ "PUT"

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setPriority

public abstract UrlRequest.Builder setPriority(int priority)

ตั้งค่าลำดับความสำคัญของคำขอ ซึ่งควรเป็นค่าใดค่าหนึ่งของ REQUEST_PRIORITY_* ระบบจะให้REQUEST_PRIORITY_MEDIUMลำดับความสำคัญแก่คำขอหากไม่ได้เรียกใช้เมธอดนี้

พารามิเตอร์
int priority

ลำดับความสำคัญของคำขอซึ่งควรเป็นค่าใดค่าหนึ่งของ REQUEST_PRIORITY_*

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setRawCompressionDictionary

@UrlRequest.Experimental
public UrlRequest.Builder setRawCompressionDictionary(
    byte[] dictionarySha256Hash,
    ByteBuffer dictionary,
    String dictionaryId
)

อนุญาตให้ Cronet ใช้พจนานุกรมการบีบอัดที่ระบุสำหรับคำขอนี้ เมื่อระบุไว้ Cronet อาจส่งสัญญาณไปยังเซิร์ฟเวอร์ว่าพจนานุกรมการบีบอัดดังกล่าวพร้อมใช้งาน หากต้องการให้การดำเนินการนี้มีผล คุณต้องกำหนดค่า CronetEngine ที่จะดำเนินการคำขอนี้ให้เปิดใช้รูปแบบการบีบอัดที่รองรับพจนานุกรมภายนอก ซึ่งเป็นการนำ draft-ietf-httpbis-compression-dictionary ไปใช้บางส่วนภายใน Cronet Cronet จะไม่จัดการส่วนหัวของการตอบกลับ "Use-As-Dictionary" โดยตรง แต่จะอาศัยโปรแกรมฝังเพื่อจัดการส่วนหัวเหล่านั้น แล้วเรียกใช้ UrlRequest.Builder#setCompressionDictionary ในภายหลังสำหรับคำขอที่ตรงกับกฎของ Use-As-Dictionary หรือดึงข้อมูลพจนานุกรมการบีบอัดผ่านกลไกอื่นๆ นอกแบนด์ แล้วเรียกใช้ UrlRequest.Builder#setCompressionDictionary ในภายหลัง Cronet จะตีความพจนานุกรมว่าตรงกับ UrlRequest นี้เท่านั้น หากมีการเปลี่ยนเส้นทางคำขอดังกล่าว และผู้ฝังตัดสินใจที่จะติดตามการเปลี่ยนเส้นทาง พจนานุกรมจะตรงกับ URL ใหม่ด้วย

พารามิเตอร์
byte[] dictionarySha256Hash

SHA-256 ของพจนานุกรมการบีบอัดที่ระบุ

ByteBuffer dictionary

พจนานุกรมการบีบอัดที่ Cronet ใช้สำหรับ UrlRequest นี้ได้ ต้องเป็น ByteBuffer โดยตรง

String dictionaryId

รหัสที่ไม่บังคับที่เชื่อมโยงกับพจนานุกรมนี้ ต้องเป็นสตริงว่างหากไม่มี หากมี ระบบจะส่งผ่านส่วนหัว Dictionary-ID คุณจะต้องระบุสิ่งนี้หากเซิร์ฟเวอร์ระบุรหัสในการตอบกลับ "Use-As-Dictionary"

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setRequestFinishedListener

public UrlRequest.Builder setRequestFinishedListener(RequestFinishedInfo.Listener listener)

ตั้งค่า Listener ที่จะเรียกใช้หลังจาก onCanceled(), onFailed() หรือ onSucceeded() กลับมา

ระบบจะเรียกใช้ Listener พร้อมข้อมูลคำขอที่เสร็จสมบูรณ์ใน java.util.concurrent.Executor ที่ getExecutor() ระบุ

พารามิเตอร์
RequestFinishedInfo.Listener listener

เครื่องรับฟังสำหรับคำขอที่เสร็จสมบูรณ์

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setTrafficStatsTag

public UrlRequest.Builder setTrafficStatsTag(int tag)

ตั้งค่าแท็ก android.net.TrafficStats ที่จะใช้เมื่อพิจารณาการเข้าชมซ็อกเก็ตที่เกิดจากคำขอนี้ ดูข้อมูลเพิ่มเติมที่ android.net.TrafficStats หากไม่ได้ตั้งค่าแท็ก (เช่น ไม่ได้เรียกใช้เมธอดนี้) บัญชี Android จะถือว่าการเข้าชมซ็อกเก็ตที่เกิดจากคำขอนี้เป็นค่าแท็กที่ตั้งเป็น 0

หมายเหตุ: การตั้งค่าแท็กจะไม่อนุญาตให้แชร์ซ็อกเก็ตกับคำขอที่มีแท็กอื่น ซึ่งอาจส่งผลเสียต่อประสิทธิภาพโดยการห้ามแชร์การเชื่อมต่อ กล่าวคือ จะอนุญาตให้ใช้ซ็อกเก็ตแบบมัลติเพล็กซ์ (เช่น HTTP/2 และ QUIC) ก็ต่อเมื่อคำขอทั้งหมดมีแท็กซ็อกเก็ตเดียวกัน

พารามิเตอร์
int tag

ค่าแท็กที่ใช้เมื่อพิจารณาการเข้าชมซ็อกเก็ตที่เกิดจากคำขอนี้ แท็กระหว่าง 0xFFFFFF00 ถึง 0xFFFFFFFF จะสงวนไว้และใช้ภายในโดยบริการของระบบ เช่น android.app.DownloadManager เมื่อทำการรับส่งข้อมูลในนามของแอปพลิเคชัน

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setTrafficStatsUid

public UrlRequest.Builder setTrafficStatsUid(int uid)

ตั้งค่า UID ที่เฉพาะเจาะจงเพื่อใช้เมื่อบันทึกการรับส่งข้อมูลของซ็อกเก็ตที่เกิดจากคำขอนี้ ดูข้อมูลเพิ่มเติมที่ android.net.TrafficStats ออกแบบมาเพื่อใช้เมื่อดำเนินการในนามของแอปพลิเคชันอื่น ผู้โทรต้องมีสิทธิ์ MODIFY_NETWORK_ACCOUNTING โดยค่าเริ่มต้น ระบบจะระบุแหล่งที่มาของการเข้าชมเป็น UID ของผู้โทร

หมายเหตุ: การตั้งค่า UID จะไม่อนุญาตให้แชร์ซ็อกเก็ตกับคำขอที่มี UID อื่น ซึ่งอาจส่งผลเสียต่อประสิทธิภาพโดยการห้ามการแชร์การเชื่อมต่อ กล่าวคือ จะอนุญาตให้ใช้ซ็อกเก็ตแบบมัลติเพล็กซ์ (เช่น HTTP/2 และ QUIC) ก็ต่อเมื่อคำขอทั้งหมดมีการตั้งค่า UID เดียวกัน

พารามิเตอร์
int uid

UID เพื่อระบุแหล่งที่มาของการรับส่งข้อมูลในซ็อกเก็ตที่เกิดจากคำขอนี้

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setUploadDataProvider

public abstract UrlRequest.Builder setUploadDataProvider(
    UploadDataProvider uploadDataProvider,
    Executor executor
)

ตั้งค่าผู้ให้บริการข้อมูลการอัปโหลด เปลี่ยนเมธอดเป็น "POST" หากไม่ได้ตั้งค่าไว้อย่างชัดแจ้ง การเริ่มคำขอจะทำให้เกิดข้อยกเว้นหากไม่ได้ตั้งค่าส่วนหัว Content-Type

พารามิเตอร์
UploadDataProvider uploadDataProvider

มีหน้าที่ในการให้ข้อมูลการอัปโหลด

Executor executor

ระบบจะเรียกใช้uploadDataProviderทั้งหมดโดยใช้ Executorนี้ อาจเป็น Executor เดียวกันกับที่คำขอใช้ก็ได้ (ไม่บังคับ)

การคืนสินค้า
UrlRequest.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง