Pelajari siklus hidup permintaan yang dibuat menggunakan Cronet dan cara mengelolanya menggunakan metode callback yang disediakan oleh library.
Ringkasan siklus hidup
Permintaan jaringan yang dibuat menggunakan Library Cronet direpresentasikan oleh class
UrlRequest
.
Konsep berikut penting untuk memahami
siklus hidup UrlRequest
:
- Status
- Status adalah kondisi khusus yang dimiliki permintaan pada waktu tertentu. Objek UrlRequest yang dibuat menggunakan Library Cronet melalui berbagai status dalam siklus hidupnya. Siklus hidup permintaan meliputi status awal, serta beberapa status transisi dan final.
- Metode
UrlRequest
- Klien dapat memanggil metode tertentu pada
objek
UrlRequest
bergantung pada statusnya. Metode tersebut memindahkan permintaan dari satu status ke status lainnya. - Metode
Callback
- Dengan menerapkan metode class
UrlRequest.Callback
, aplikasi Anda dapat menerima info terbaru tentang progres permintaan. Anda dapat menerapkan metode callback untuk memanggil metode objekUrlRequest
yang mengambil siklus dari negara ke negara lain.
Daftar berikut menjelaskan alur
siklus hidup UrlRequest
:
- Siklus hidup berada dalam status Dimulai setelah aplikasi Anda memanggil
metode
start()
. - Server dapat mengirim respons pengalihan, yang menggunakan alur ke
metode
onRedirectReceived()
. Dalam metode ini, Anda dapat melakukan salah satu tindakan klien berikut:- Ikuti pengalihan menggunakan
followRedirect()
. Metode ini mengembalikan permintaan ke status Dimulai. - Batalkan permintaan menggunakan
cancel()
. Metode ini membawa permintaan ke metodeonCanceled()
tempat aplikasi dapat menjalankan operasi tambahan sebelum permintaan dipindahkan ke status Dibatalkan terakhir.
- Ikuti pengalihan menggunakan
- Setelah aplikasi mengikuti semua pengalihan, server akan mengirim header
respons dan metode
onResponseStarted()
dipanggil. Permintaan berada dalam status Menunggu dibaca(). Aplikasi harus memanggil metoderead()
untuk mencoba membaca bagian dari isi respons. Setelahread()
dipanggil, permintaan berada dalam status Membaca, yang menampilkan kemungkinan hasil berikut:- Tindakan membaca berhasil, tetapi ada data lain yang tersedia.
onReadCompleted()
dipanggil dan permintaan berada dalam status Menunggu dibaca() lagi. Aplikasi harus memanggil metoderead()
lagi untuk melanjutkan membaca isi respons. Aplikasi juga dapat berhenti membaca permintaan dengan menggunakan metodecancel()
. - Tindakan membaca berhasil, dan tidak ada data lain yang tersedia.
Metode
onSucceeded()
dipanggil dan permintaan sekarang berada dalam status Berhasil terakhir. - Tindakan membaca gagal. Metode
onFailed
dipanggil dan status akhir permintaan sekarang adalah Gagal.
- Tindakan membaca berhasil, tetapi ada data lain yang tersedia.
Diagram berikut menunjukkan siklus hidup
objek UrlRequest
:
Siklus hidup permintaan Cronet
Legenda | |
---|---|
Status awal |
Status akhir |
Status transisi |
Metode callback |
Metode UrlRequest |