Cronet-Anfragelebenszyklus

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 des UrlRequest-Objekts aufzurufen, die den Lebenszyklus von einem Zustand in einen anderen durchlaufen.

In der folgenden Liste wird der Ablauf des UrlRequest-Lebenszyklus beschrieben:

  1. Nachdem Ihre Anwendung die Methode start() aufgerufen hat, befindet sich der Lebenszyklus im Status Gestartet.
  2. 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 Methode onCanceled() weitergeleitet. Dort kann die Anwendung weitere Vorgänge ausführen, bevor die Anfrage in den endgültigen Status Canceled (Abgebrochen) verschoben wird.
  3. 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 Methode read() aufrufen, um zu versuchen, einen Teil des Antworttexts zu lesen. Nachdem read() 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 Methode read() noch einmal aufrufen, um den Antworttext weiter zu lesen. Die App könnte das Lesen der Anfrage auch beenden, indem sie die Methode cancel() 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.

Das folgende Diagramm zeigt den Lebenszyklus eines UrlRequest-Objekts:

Diagramm zum Lebenszyklus von Cronet-Anfragen
Lebenszyklus von Cronet-Anfragen

Legende
Anfangszustand von Legendensymbol für Cronet-Anfangsstatus Legendensymbol für den endgültigen Status von Cronet – endgültiger Zustand
Legendensymbol für den Cronet-Übergangsstatus Übergangsstatus Legendensymbol für Cronet-Callback-Methoden Callback-Methoden
Legendensymbol für Cronet-Client-Aktion UrlRequest-Methoden