InMemoryTransformCronetCallback

public abstract class InMemoryTransformCronetCallback<T> extends ImplicitFlowControlCallback

Các lớp con trực 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.

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.


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.

Người yêu cầu có thể đăng ký nhận thông tin cập nhật về yêu cầu bằng cách thêm mListener hoàn tất vào lệnh gọi lại. Khi yêu cầu đạt đến trạng thái kết thúc, mListeners sẽ được thông báo theo thứ tự thêm.

Tham số
<T>

loại nội dung phản hồi

Tóm tắt

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

Phương thức công khai

ImplicitFlowControlCallback

Thêm một trình nghe hoàn thành.

Phương thức được bảo vệ

final void

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

final void

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

final void

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

final 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.

final void

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

abstract T
transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

Chuyển đổi (giải tuần tự hoá) phần nội dung thô thành một đối tượng do người dùng xác định.

Các phương thức kế thừa

Từ org.chromium.net.apihelpers.ImplicitFlowControlCallback
final void

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

final 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.

final 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.

final 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.

final 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.

final void

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

abstract boolean

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

Từ org.chromium.net.UrlRequest.Callback
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.

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

InMemoryTransformCronetCallback

public InMemoryTransformCronetCallback()

Phương thức công khai

addCompletionListener

public ImplicitFlowControlCallback addCompletionListener(CronetRequestCompletionListener<T> listener)

Thêm một trình nghe hoàn thành. Tất cả các trình nghe sẽ được thông báo khi yêu cầu đạt đến trạng thái cuối cùng, theo thứ tự thêm. Nếu được thêm nhiều lần, trình nghe sẽ chỉ được gọi một lần theo lần đầu tiên được thêm.

Phương thức được bảo vệ

onBodyChunkRead

protected final void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

Đượ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. Vùng đệm đã sẵn sàng để đọc. Các vùng đệm được dùng lại nội bộ, vì vậy, lớp triển khai không được lưu trữ vùng đệm hoặc sử dụng vùng đệm ở bất kỳ nơi nào khác ngoài quá trình triển khai phương thức này.

Tham số
UrlResponseInfo info

Thông tin phản hồi.

ByteBuffer bodyChunk

Vùng đệm chứa dữ liệu đã nhận, được lật để đọc.

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ệ đã gửi được đặt làm nguyên nhân của CallbackException.

onCanceled

protected final void onCanceled(@Nullable 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 UrlRequest.Callback nào khác được gọi.

Tham số
@Nullable 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

protected final void onFailed(@Nullable UrlResponseInfo info, CronetException exception)

Đượ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 UrlRequest.Callback nào khác được gọi. error cung cấp thông tin về lỗi.

Tham số
@Nullable 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 exception

thông tin về lỗi.

onResponseStarted

protected final void onResponseStarted(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. Cronet đảm bảo không bắt đầu đọc nội dung cho đến khi phương thức này trả về.

Tham số
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 hồi bắt đầu, onFailed sẽ được gọi với ngoại lệ đã gửi được đặt làm nguyên nhân của CallbackException.

onSucceeded

protected final void onSucceeded(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 UrlRequest.Callback nào khác được gọi.

Tham số
UrlResponseInfo info

Thông tin phản hồi.

transformBodyBytes

protected abstract T transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

Chuyển đổi (giải tuần tự hoá) phần nội dung thô thành một đối tượng do người dùng xác định.

Giả định rằng các lớp triển khai xử lý các trường hợp đặc biệt (chẳng hạn như nội dung trống và không đúng định dạng) một cách thích hợp. Cronet không kiểm tra các đối tượng và chuyển chúng (hoặc mọi trường hợp ngoại lệ) cho bên phát hành yêu cầu.