ImplicitFlowControlCallback

public abstract class ImplicitFlowControlCallback extends UrlRequest.Callback

Các lớp con trực tiếp đã biết
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.

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.

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

Tóm tắt

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

Phương thức công khai

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.

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

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

abstract void

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

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

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.

abstract boolean

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

ImplicitFlowControlCallback

public ImplicitFlowControlCallback()

Phương thức công khai

onCanceled

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

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

onBodyChunkRead

protected abstract 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 abstract 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 abstract 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 abstract 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 abstract 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.

shouldFollowRedirect

protected abstract boolean shouldFollowRedirect(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.

Tham số
UrlResponseInfo info

Thông tin phản hồi.

String newLocationUrl

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

Giá trị trả về
boolean

true nếu bạn muốn chuyển hướng, false nếu bạn muốn huỷ yêu cầu.

Gửi
java.lang.Exception

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