Siklus proses permintaan Cronet

Pelajari siklus proses permintaan yang dibuat menggunakan Cronet dan cara mengelolanya menggunakan metode callback yang disediakan oleh library.

Ringkasan siklus proses

Permintaan jaringan yang dibuat menggunakan Library Cronet direpresentasikan oleh class UrlRequest. Konsep berikut penting untuk memahami siklus proses UrlRequest:

Status
Status adalah kondisi khusus yang dimiliki permintaan pada waktu tertentu. Objek UrlRequest yang dibuat menggunakan Library Cronet bergerak melalui berbagai status dalam siklus prosesnya. Siklus proses permintaan mencakup 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 mengimplementasikan metode class UrlRequest.Callback, aplikasi Anda dapat menerima info terbaru tentang progres permintaan. Anda dapat mengimplementasikan metode callback untuk memanggil metode objek UrlRequest yang mengambil siklus proses dari suatu status ke status lainnya.

Daftar berikut menjelaskan alur siklus proses UrlRequest:

  1. Siklus proses berada dalam status Dimulai setelah aplikasi Anda memanggil metode start().
  2. Server dapat mengirim respons pengalihan, yang membawa 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 melakukan operasi tambahan sebelum permintaan dipindahkan ke status Dibatalkan terakhir.
  3. Setelah aplikasi mengikuti semua pengalihan, server akan mengirimkan 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 Reading, yang terdapat kemungkinan hasil berikut:
    • Tindakan membaca berhasil, tetapi ada data lain yang tersedia. onReadCompleted() dipanggil dan permintaan berada dalam status Menunggu read() lagi. Aplikasi harus memanggil metode read() lagi untuk melanjutkan membaca isi respons. Aplikasi juga dapat berhenti membaca permintaan 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 menjadi Gagal.

Diagram berikut menunjukkan siklus proses objek UrlRequest:

Diagram siklus proses
permintaan Cronet
Siklus proses permintaan Cronet

Keterangan
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