UrlRequest.Callback

abstract class UrlRequest.Callback

คลาสย่อยโดยตรงที่ทราบ
ImplicitFlowControlCallback

การใช้งาน UrlRequest.Callback ที่ช่วยลดความยุ่งยากในการจัดการวงจรการใช้งานคำขอ และดำเนินการอ่านการตอบกลับทั้งหมดโดยอัตโนมัติ

คลาสย่อยโดยอ้อมที่ทราบ
ByteArrayCronetCallback

InMemoryTransformCronetCallback ที่มีความเฉพาะเจาะจงมากขึ้น ซึ่งจะแสดงผลไบต์ของเนื้อหาตามตัวอักษรโดยไม่มีการตีความ

InMemoryTransformCronetCallback

การเรียกกลับ Cronet แบบนามธรรมที่อ่านเนื้อหาทั้งหมดลงในหน่วยความจำ และเลือกที่จะยกเลิกการซีเรียลไลซ์เนื้อหาก่อนที่จะส่งกลับไปยังผู้ออกคำขอ HTTP

JsonCronetCallback

InMemoryTransformCronetCallback ที่มีความเฉพาะเจาะจงมากขึ้น ซึ่งจะตีความเนื้อหาการตอบกลับเป็น JSON

StringCronetCallback

InMemoryTransformCronetCallback ที่มีความเฉพาะเจาะจงมากขึ้น ซึ่งจะตีความเนื้อหาการตอบกลับเป็นสตริง


ผู้ใช้ Cronet ขยายคลาสนี้เพื่อรับการเรียกกลับที่ระบุความคืบหน้าของ UrlRequest ที่กำลังประมวลผล ระบบจะส่งอินสแตนซ์ของคลาสนี้ไปยังเครื่องมือสร้างของ UrlRequest.Builder เมื่อสร้าง UrlRequest

หมายเหตุ: ระบบจะเรียกใช้เมธอดทั้งหมดในเธรดของ java.util.concurrent.Executor ที่ใช้ระหว่างการสร้าง UrlRequest

สรุป

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

ฟังก์ชันสาธารณะ

Unit
onCanceled(request: UrlRequest!, info: UrlResponseInfo!)

เรียกใช้หากมีการยกเลิกคำขอผ่าน cancel

abstract Unit
onFailed(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    error: CronetException!
)

เรียกใช้หากคำขอไม่สำเร็จด้วยเหตุผลใดก็ตามหลังจาก start

abstract Unit
onReadCompleted(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    byteBuffer: ByteBuffer!
)

เรียกใช้ทุกครั้งที่อ่านเนื้อหาการตอบกลับบางส่วนแล้ว

abstract Unit
onRedirectReceived(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    newLocationUrl: String!
)

เรียกใช้ทุกครั้งที่พบการเปลี่ยนเส้นทาง

abstract Unit

เรียกใช้เมื่อได้รับชุดส่วนหัวสุดท้ายหลังจากเปลี่ยนเส้นทางทั้งหมดแล้ว

abstract Unit
onSucceeded(request: UrlRequest!, info: UrlResponseInfo!)

เรียกใช้เมื่อคำขอเสร็จสมบูรณ์เรียบร้อยแล้ว

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

Callback

Callback()

ฟังก์ชันสาธารณะ

onCanceled

fun onCanceled(request: UrlRequest!, info: UrlResponseInfo!): Unit

เรียกใช้หากมีการยกเลิกคำขอผ่าน cancel เมื่อเรียกใช้แล้ว ระบบจะไม่เรียกใช้เมธอด Callback อื่นๆ การใช้งานเริ่มต้นจะไม่ดำเนินการใดๆ

พารามิเตอร์
request: UrlRequest!

คำขอที่ถูกยกเลิก

info: UrlResponseInfo!

ข้อมูลการตอบกลับ อาจเป็น null หากไม่ได้รับการตอบกลับ

onFailed

abstract fun onFailed(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    error: CronetException!
): Unit

เรียกใช้หากคำขอไม่สำเร็จด้วยเหตุผลใดก็ตามหลังจาก start เมื่อเรียกใช้แล้ว ระบบจะไม่เรียกใช้เมธอด Callback อื่นๆ error จะให้ข้อมูลเกี่ยวกับความล้มเหลว

พารามิเตอร์
request: UrlRequest!

คำขอที่ไม่สำเร็จ

info: UrlResponseInfo!

ข้อมูลการตอบกลับ อาจเป็น null หากไม่ได้รับการตอบกลับ

error: CronetException!

ข้อมูลเกี่ยวกับข้อผิดพลาด

onReadCompleted

abstract fun onReadCompleted(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    byteBuffer: ByteBuffer!
): Unit

เรียกใช้ทุกครั้งที่อ่านเนื้อหาการตอบกลับบางส่วนแล้ว บัฟเฟอร์อาจมีข้อมูลเพียงบางส่วน แม้ว่าจะยังไม่ได้ใช้เนื้อหาการตอบกลับทั้งหมดก็ตาม ยกเว้น onCanceled() ระบบจะไม่เรียกใช้เมธอด Callback อื่นๆ สำหรับคำขอ รวมถึง onSucceeded() และ onFailed() จนกว่าจะมีการเรียกใช้ UrlRequest.read() เพื่อพยายามอ่านเนื้อหาการตอบกลับต่อ

พารามิเตอร์
request: UrlRequest!

คำขอที่ได้รับข้อมูล

info: UrlResponseInfo!

ข้อมูลการตอบกลับ

byteBuffer: ByteBuffer!

บัฟเฟอร์ที่ส่งไปยัง UrlRequest.read() ซึ่งตอนนี้มีข้อมูลที่ได้รับ ระบบจะอัปเดตตำแหน่งของบัฟเฟอร์เป็นส่วนท้ายของข้อมูลที่ได้รับ และจะไม่เปลี่ยนแปลงขีดจำกัดของบัฟเฟอร์

ส่ง
java.lang.Exception

หากเกิดข้อผิดพลาดขณะประมวลผลการอ่านเสร็จสมบูรณ์ ระบบจะเรียกใช้ onFailed โดยตั้งค่าข้อยกเว้นที่ส่งเป็นสาเหตุของ CallbackException

onRedirectReceived

abstract fun onRedirectReceived(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    newLocationUrl: String!
): Unit

เรียกใช้ทุกครั้งที่พบการเปลี่ยนเส้นทาง ระบบจะเรียกใช้ฟังก์ชันนี้ระหว่างการเรียกใช้ start กับ onResponseStarted() เท่านั้น ระบบจะเพิกเฉยต่อเนื้อหาของการตอบกลับการเปลี่ยนเส้นทาง หากมี ระบบจะไม่ติดตามการเปลี่ยนเส้นทางจนกว่าจะมีการเรียกใช้เมธอด followRedirect ของ URLRequest ไม่ว่าจะซิงโครนัสหรืออะซิงโครนัส

พารามิเตอร์
request: UrlRequest!

คำขอที่กำลังเปลี่ยนเส้นทาง

info: UrlResponseInfo!

ข้อมูลการตอบกลับ

newLocationUrl: String!

ตำแหน่งที่จะเปลี่ยนเส้นทางคำขอ

ส่ง
java.lang.Exception

หากเกิดข้อผิดพลาดขณะประมวลผลการเปลี่ยนเส้นทาง ระบบจะเรียกใช้ onFailed โดยตั้งค่าข้อยกเว้นที่ส่งเป็นสาเหตุของ CallbackException

onResponseStarted

abstract fun onResponseStarted(request: UrlRequest!, info: UrlResponseInfo!): Unit

เรียกใช้เมื่อได้รับชุดส่วนหัวสุดท้ายหลังจากเปลี่ยนเส้นทางทั้งหมดแล้ว ระบบจะเรียกใช้ฟังก์ชันนี้เพียงครั้งเดียวสำหรับคำขอแต่ละรายการ ยกเว้น onCanceled() ระบบจะไม่เรียกใช้เมธอด Callback อื่นๆ สำหรับคำขอ รวมถึง onSucceeded() และ onFailed() จนกว่าจะมีการเรียกใช้ UrlRequest.read() เพื่อพยายามเริ่มอ่านเนื้อหาการตอบกลับ

พารามิเตอร์
request: UrlRequest!

คำขอที่เริ่มรับการตอบกลับ

info: UrlResponseInfo!

ข้อมูลการตอบกลับ

ส่ง
java.lang.Exception

หากเกิดข้อผิดพลาดขณะประมวลผลการเริ่มต้นการตอบกลับ ระบบจะเรียกใช้ onFailed โดยตั้งค่าข้อยกเว้นที่ส่งเป็นสาเหตุของ CallbackException

onSucceeded

abstract fun onSucceeded(request: UrlRequest!, info: UrlResponseInfo!): Unit

เรียกใช้เมื่อคำขอเสร็จสมบูรณ์เรียบร้อยแล้ว เมื่อเรียกใช้แล้ว ระบบจะไม่เรียกใช้เมธอด Callback อื่นๆ

พารามิเตอร์
request: UrlRequest!

คำขอที่สำเร็จ

info: UrlResponseInfo!

ข้อมูลการตอบกลับ