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öntemUrlRequest.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çirenUrlRequest
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:
- Yaşam döngüsü, uygulamanızın
start()
yöntemini çağırdıktan sonra Başlatıldı durumundadır. - 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ğionCanceled()
yöntemine alır.
- 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çinread()
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çinread()
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.
- Okuma işlemi başarılı oldu, ancak daha fazla veri mevcut.
Aşağıdaki şemada bir UrlRequest
nesnesinin yaşam döngüsü gösterilmektedir:
Açıklama | |
---|---|
başlangıç durumu | son durum |
geçiş durumu | geri çağırma yöntemi |
UrlRequest yöntem |