Cronet isteği yaşam döngüsü

Cronet kullanılarak oluşturulan isteklerin yaşam döngüsü ve kitaplık tarafından sağlanan geri çağırma yöntemlerini kullanarak bu istekleri nasıl yöneteceğinizi öğrenin.

Yaşam döngüsüne genel bakış

Cronet Kitaplığı kullanılarak oluşturulan ağ istekleri UrlRequest sınıfıyla temsil edilir. UrlRequest yaşam döngüsünü anlamak için aşağıdaki kavramlar önemlidir:

Eyaletler
Eyalet, isteğin belirli bir zamanda bulunması koşuludur. Cronet Kitaplığı kullanılarak oluşturulan UrlRequest nesneleri yaşam döngülerinde farklı durumlardan geçer. İstek yaşam döngüsü, bir başlangıç durumunun yanı sıra birden fazla geçiş ve nihai durumu içerir.
UrlRequest yöntem
İstemciler, duruma bağlı olarak UrlRequest nesnelerinde belirli yöntemleri çağırabilir. Yöntemler, isteği bir durumdan diğerine taşır.
Callback yöntem
UrlRequest.Callback sınıfının yöntemlerini uyguladığınızda uygulamanız isteğin ilerleme durumuyla ilgili güncellemeleri alabilir. Yaşam döngüsünü bir durumdan diğerine geçiren UrlRequest nesnesinin yöntemlerini çağırmak için geri çağırma yöntemlerini uygulayabilirsiniz.

Aşağıdaki listede UrlRequest yaşam döngüsünün akışı açıklanmaktadır:

  1. Yaşam döngüsü, uygulamanızın start() yöntemini çağırdıktan sonra Başlatıldı durumundadır.
  2. Sunucu, akışı onRedirectReceived() yöntemine taşıyan bir yönlendirme yanıtı gönderebilir. Bu yöntemde, aşağıdaki istemci işlemlerinden birini yapabilirsiniz:
    • followRedirect() kullanarak yönlendirmeyi takip edin. Bu yöntem, isteği Başlatıldı durumuna geri getirir.
    • İsteği cancel() kullanarak iptal edin. Bu yöntem, istek İptal edildi son durumuna taşınmadan önce uygulamanın ek işlemler gerçekleştirebileceği onCanceled() yöntemine alır.
  3. Uygulama tüm yönlendirmeleri izledikten sonra, sunucu yanıt üst bilgilerini gönderir ve onResponseStarted() yöntemi çağrılır. İstek, Read() bekleniyor durumundadır. Uygulama, yanıt gövdesinin bir kısmını okumaya çalışmak için read() yöntemini çağırmalıdır. read() çağrıldıktan sonra, istek Okundu durumunda olur. Bu durumda aşağıdaki olası sonuçlar mevcuttur:
    • Okuma işlemi başarılı oldu, ancak daha fazla veri mevcut. onReadCompleted() çağrılır ve istek tekrar Read() bekleniyor durumunda olur. Uygulama, yanıt gövdesini okumaya devam etmek için read() yöntemini tekrar çağırmalıdır. Uygulama, cancel() yöntemini kullanarak isteği okumayı da durdurabilir .
    • Okuma işlemi başarılı oldu ve başka veri yok. onSucceeded() yöntemi çağrılır ve istek artık Başarılı son durumunda olur.
    • Okuma işlemi başarısız oldu. onFailed yöntemi çağrılır ve isteğin son durumu artık Failed (Başarısız) olur.

Aşağıdaki şemada bir UrlRequest nesnesinin yaşam döngüsü gösterilmektedir:

Cronet istek yaşam
döngüsü şeması
Cronet isteğinin yaşam döngüsü

Açıklama
Cronet ilk durum açıklama simgesi başlangıç durumu Cronet final durumu açıklama simgesi son durum
Cronet geçiş durumu açıklaması simgesi geçiş durumu Cronet geri arama yöntemleri açıklaması simgesi geri çağırma yöntemi
Cronet istemcisi işlem açıklaması simgesi UrlRequest yöntem