Hier erfahren Sie mehr über den Lebenszyklus von Anfragen, die mit Cronet erstellt wurden, und wie Sie diese mit den von der Bibliothek bereitgestellten Callback-Methoden verwalten.
Lebenszyklusübersicht
Netzwerkanfragen, die mit der Cronet-Bibliothek erstellt wurden, werden durch die Klasse UrlRequest
dargestellt.
Die folgenden Konzepte sind wichtig für das Verständnis des UrlRequest
-Lebenszyklus:
- Bundesländer
- Ein Status ist die bestimmte Bedingung, in der sich die Anfrage zu einem bestimmten Zeitpunkt befindet. UrlRequest-Objekte, die mit der Cronet-Bibliothek erstellt wurden, durchlaufen in ihrem Lebenszyklus verschiedene Status. Der Lebenszyklus einer Anfrage umfasst einen Anfangszustand sowie mehrere Übergangs- und Endzustände.
UrlRequest
Methoden- Clients können je nach Status bestimmte Methoden für
UrlRequest
-Objekte aufrufen. Die Methoden verschieben die Anfrage von einem Status in einen anderen. Callback
Methoden- Durch Implementierung von Methoden der Klasse
UrlRequest.Callback
kann Ihre Anwendung Updates zum Fortschritt der Anfrage erhalten. Sie können die Callback-Methoden implementieren, um Methoden desUrlRequest
-Objekts aufzurufen, die den Lebenszyklus von einem Zustand in einen anderen durchlaufen.
In der folgenden Liste wird der Ablauf des UrlRequest
-Lebenszyklus beschrieben:
- Nachdem Ihre Anwendung die Methode
start()
aufgerufen hat, befindet sich der Lebenszyklus im Status Gestartet. - Der Server könnte eine Weiterleitungsantwort senden, die den Datenfluss zur Methode
onRedirectReceived()
weiterleitet. Bei dieser Methode können Sie eine der folgenden Clientaktionen ausführen:- Folgen Sie der Weiterleitung mit
followRedirect()
. Bei dieser Methode wird die Anfrage in den Status Gestartet zurückgesetzt. - Brechen Sie die Anfrage mit
cancel()
ab. Bei dieser Methode wird die Anfrage an die MethodeonCanceled()
weitergeleitet. Dort kann die Anwendung weitere Vorgänge ausführen, bevor die Anfrage in den endgültigen Status Canceled (Abgebrochen) verschoben wird.
- Folgen Sie der Weiterleitung mit
- Nachdem die Anwendung allen Weiterleitungen folgt, sendet der Server die Antwortheader und die Methode
onResponseStarted()
wird aufgerufen. Die Anfrage befindet sich im Status Warten auf read(). Die App sollte die Methoderead()
aufrufen, um zu versuchen, einen Teil des Antworttexts zu lesen. Nachdemread()
aufgerufen wurde, befindet sich die Anfrage im Status Lesen mit folgenden möglichen Ergebnissen:- Die Leseaktion war erfolgreich, es sind jedoch mehr Daten verfügbar. Das
onReadCompleted()
wird aufgerufen und die Anfrage befindet sich wieder im Status Warten auf read(). Die App sollte die Methoderead()
noch einmal aufrufen, um den Antworttext weiter zu lesen. Die App könnte das Lesen der Anfrage auch beenden, indem sie die Methodecancel()
verwendet . - Die Leseaktion war erfolgreich und es sind keine weiteren Daten verfügbar.
Die Methode
onSucceeded()
wird aufgerufen und die Anfrage befindet sich jetzt im Endstatus Erfolgreich. - Die Leseaktion ist fehlgeschlagen. Die Methode
onFailed
wird aufgerufen und der endgültige Status der Anfrage lautet jetzt Fehlgeschlagen.
- Die Leseaktion war erfolgreich, es sind jedoch mehr Daten verfügbar. Das
Das folgende Diagramm zeigt den Lebenszyklus eines UrlRequest
-Objekts:
Legende | |
---|---|
Anfangszustand von | – endgültiger Zustand |
Übergangsstatus | Callback-Methoden |
UrlRequest -Methoden |