UrlRequest.Callback

abstract class UrlRequest.Callback

Các lớp con trực tiếp đã biết
ImplicitFlowControlCallback

Một cách triển khai UrlRequest.Callback giúp loại bỏ khó khăn trong việc quản lý vòng đời yêu cầu và tự động tiến hành đọc toàn bộ phản hồi.

Các lớp con gián tiếp đã biết
ByteArrayCronetCallback

Một chuyên môn hoá của InMemoryTransformCronetCallback sẽ trả về các byte nội dung nguyên trạng mà không cần diễn giải.

InMemoryTransformCronetCallback

Một lệnh gọi lại Cronet trừu tượng đọc toàn bộ nội dung vào bộ nhớ và tuỳ ý giải tuần tự hoá nội dung trước khi truyền nội dung đó trở lại cho bên phát hành yêu cầu HTTP.

JsonCronetCallback

Một chuyên môn hoá của InMemoryTransformCronetCallback diễn giải nội dung phản hồi dưới dạng JSON.

StringCronetCallback

Một chuyên môn hoá của InMemoryTransformCronetCallback diễn giải nội dung phản hồi dưới dạng một chuỗi.


Người dùng Cronet mở rộng lớp này để nhận các lệnh gọi lại cho biết tiến trình của một UrlRequest đang được xử lý. Một thực thể của lớp này được truyền vào hàm khởi tạo của UrlRequest.Builder khi tạo UrlRequest.

Lưu ý: Tất cả các phương thức sẽ được gọi trên luồng của java.util.concurrent.Executor được dùng trong quá trình tạo UrlRequest.

Tóm tắt

Hàm khởi tạo công khai

Hàm công khai

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

Được gọi nếu yêu cầu bị huỷ thông qua cancel.

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

Được gọi nếu yêu cầu không thành công vì bất kỳ lý do nào sau start.

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

Được gọi bất cứ khi nào một phần của nội dung phản hồi đã được đọc.

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

Được gọi bất cứ khi nào gặp phải một lệnh chuyển hướng.

abstract Unit

Được gọi khi nhận được nhóm tiêu đề cuối cùng, sau tất cả các lệnh chuyển hướng.

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

Được gọi khi yêu cầu hoàn tất thành công.

Hàm khởi tạo công khai

Lệnh gọi lại

Callback()

Hàm công khai

onCanceled

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

Được gọi nếu yêu cầu bị huỷ thông qua cancel. Sau khi được gọi, không có phương thức Callback nào khác được gọi. Phương thức triển khai mặc định không thực hiện hành động nào.

Tham số
request: UrlRequest!

Yêu cầu đã bị huỷ.

info: UrlResponseInfo!

Thông tin phản hồi. Có thể là null nếu không nhận được phản hồi.

onFailed

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

Được gọi nếu yêu cầu không thành công vì bất kỳ lý do nào sau start. Sau khi được gọi, không có phương thức Callback nào khác được gọi. error cung cấp thông tin về lỗi.

Tham số
request: UrlRequest!

Yêu cầu không thực hiện được.

info: UrlResponseInfo!

Thông tin phản hồi. Có thể là null nếu không nhận được phản hồi.

error: CronetException!

thông tin về lỗi.

onReadCompleted

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

Được gọi bất cứ khi nào một phần của nội dung phản hồi đã được đọc. Chỉ một phần của vùng đệm có thể được điền sẵn, ngay cả khi toàn bộ nội dung phản hồi chưa được sử dụng. Ngoại trừ onCanceled(), không có phương thức Callback nào khác sẽ được gọi cho yêu cầu, bao gồm cả onSucceeded()onFailed(), cho đến khi UrlRequest.read() được gọi để cố gắng tiếp tục đọc nội dung phản hồi.

Tham số
request: UrlRequest!

Yêu cầu dữ liệu đã nhận.

info: UrlResponseInfo!

Thông tin phản hồi.

byteBuffer: ByteBuffer!

Vùng đệm đã được truyền vào UrlRequest.read(), hiện chứa dữ liệu đã nhận. Vị trí của vùng đệm được cập nhật thành cuối dữ liệu nhận được. Giới hạn của vùng đệm không thay đổi.

Gửi
java.lang.Exception

nếu xảy ra lỗi trong khi xử lý quá trình hoàn tất thao tác đọc. onFailed sẽ được gọi với ngoại lệ đã khai báo được đặt làm nguyên nhân của CallbackException.

onRedirectReceived

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

Được gọi bất cứ khi nào gặp phải một lệnh chuyển hướng. Phương thức này sẽ chỉ được gọi giữa lệnh gọi đến startonResponseStarted(). Nội dung của phản hồi chuyển hướng (nếu có) sẽ bị bỏ qua. Lệnh chuyển hướng sẽ không được thực hiện cho đến khi phương thức followRedirect của URLRequest được gọi, theo cách đồng bộ hoặc không đồng bộ.

Tham số
request: UrlRequest!

Yêu cầu được chuyển hướng.

info: UrlResponseInfo!

Thông tin phản hồi.

newLocationUrl: String!

Vị trí mà yêu cầu được chuyển hướng đến.

Gửi
java.lang.Exception

nếu xảy ra lỗi trong khi xử lý một lệnh chuyển hướng. onFailed sẽ được gọi với ngoại lệ đã khai báo được đặt làm nguyên nhân của CallbackException.

onResponseStarted

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

Được gọi khi nhận được nhóm tiêu đề cuối cùng, sau tất cả các lệnh chuyển hướng. Chỉ được gọi một lần cho mỗi yêu cầu. Ngoại trừ onCanceled(), không có phương thức Callback nào khác sẽ được gọi cho yêu cầu, kể cả onSucceeded()onFailed(), cho đến khi UrlRequest.read() được gọi để cố gắng bắt đầu đọc nội dung phản hồi.

Tham số
request: UrlRequest!

Yêu cầu bắt đầu nhận được phản hồi.

info: UrlResponseInfo!

Thông tin phản hồi.

Gửi
java.lang.Exception

nếu xảy ra lỗi trong khi xử lý phần bắt đầu phản hồi. onFailed sẽ được gọi với ngoại lệ đã khai báo được đặt làm nguyên nhân của CallbackException.

onSucceeded

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

Được gọi khi yêu cầu hoàn tất thành công. Sau khi được gọi, không có phương thức Callback nào khác được gọi.

Tham số
request: UrlRequest!

Yêu cầu đã thành công.

info: UrlResponseInfo!

Thông tin phản hồi.