Siklus hidup permintaan Cronet

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 objek UrlRequest yang mengambil siklus dari negara ke negara lain.

Daftar berikut menjelaskan alur siklus hidup UrlRequest:

  1. Siklus hidup berada dalam status Dimulai setelah aplikasi Anda memanggil metode start().
  2. 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 metode onCanceled() tempat aplikasi dapat menjalankan operasi tambahan sebelum permintaan dipindahkan ke status Dibatalkan terakhir.
  3. Setelah aplikasi mengikuti semua pengalihan, server akan mengirim header respons dan metode onResponseStarted() dipanggil. Permintaan berada dalam status Menunggu dibaca(). Aplikasi harus memanggil metode read() untuk mencoba membaca bagian dari isi respons. Setelah read() 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 metode read() lagi untuk melanjutkan membaca isi respons. Aplikasi juga dapat berhenti membaca permintaan dengan menggunakan metode cancel().
    • 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.

Diagram berikut menunjukkan siklus hidup objek UrlRequest:

Diagram siklus hidup permintaan
    Cronet
Siklus hidup permintaan Cronet

Legenda
Status awal Ikon legenda status awal Cronet Status akhir Ikon legenda status akhir Cronet
Status transisi Ikon legenda status transisi Cronet Metode callback Ikon legenda metode callback Cronet
Metode Ikon legenda tindakan klien Cronet UrlRequest