UrlRequest.Callback

public 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

Phương thức công khai

void

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

abstract void
onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

Đượ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 void
onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    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 void
onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

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

abstract void

Đượ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 void

Đượ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

public Callback()

Phương thức công khai

onCanceled

public void onCanceled(UrlRequest request, UrlResponseInfo info)

Đượ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ố
UrlRequest request

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

UrlResponseInfo info

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

onFailed

public abstract void onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

Đượ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ố
UrlRequest request

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

UrlResponseInfo info

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

CronetException error

thông tin về lỗi.

onReadCompleted

public abstract void onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    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. 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ố
UrlRequest request

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

UrlResponseInfo info

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

public abstract void onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

Đượ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ố
UrlRequest request

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

UrlResponseInfo info

Thông tin phản hồi.

String newLocationUrl

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

public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info)

Đượ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ố
UrlRequest request

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

UrlResponseInfo info

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

public abstract void onSucceeded(UrlRequest request, UrlResponseInfo info)

Đượ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ố
UrlRequest request

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

UrlResponseInfo info

Thông tin phản hồi.