Poznaj cykl życia żądań utworzonych za pomocą Cronet i dowiedz się, jak zarządzać nimi za pomocą metod wywołań zwrotnych udostępnianych przez bibliotekę.
Omówienie cyklu życia
Żądania sieciowe utworzone przy użyciu biblioteki Cronet są reprezentowane przez klasę UrlRequest.
Aby zrozumieć cykl życia UrlRequest, ważne są te pojęcia:
- Stany
- Stan to konkretny warunek, w którym dane żądanie spełnia określone warunki. Obiekty UrlRequest utworzone za pomocą biblioteki Cronet poruszają się przez różne stany w swoim cyklu życia. Cykl życia żądania obejmuje stan początkowy oraz wiele stanów przejściowych i końcowych.
- UrlRequestmetod
- W zależności od stanu klienci mogą wywoływać określone metody w obiektach UrlRequest. Metody przenoszą żądanie z jednego stanu do innego.
- Callbackmetod
- Dzięki wdrożeniu metod klasy UrlRequest.CallbackTwoja aplikacja może otrzymywać informacje o postępach w realizacji żądania. Możesz zaimplementować metody wywołań zwrotnych, aby wywoływać metody obiektuUrlRequest, które przechodzą cykl życia ze stanu do innego.
Poniższa lista opisuje przepływ cyklu życia UrlRequest:
- Cykl życia znajduje się w stanie Rozpoczęty, gdy aplikacja wywołuje metodę start().
- Serwer może wysłać odpowiedź przekierowującą, która przekazuje przepływ do metody onRedirectReceived(). W ramach tej metody możesz wykonać jedno z tych działań klienta:- Skorzystaj z przekierowania, używając followRedirect(). Ta metoda przywraca żądanie do stanu Rozpoczęte.
- Anuluj prośbę za pomocą cancel(). Ta metoda przekierowuje żądanie do metodyonCanceled(), w której aplikacja może wykonać dodatkowe operacje, zanim żądanie zostanie przeniesione do stanu końcowego Anulowane.
 
- Skorzystaj z przekierowania, używając 
- Gdy aplikacja przejdzie wszystkie przekierowania, serwer wysyła nagłówki odpowiedzi i wywołuje metodę onResponseStarted(). Żądanie ma stan Oczekiwanie na odczytanie(). Aby odczytać część treści odpowiedzi, aplikacja powinna wywoływać metodęread(). Po wywołaniuread()żądanie przechodzi w stan Reading (Odczytywanie), co może prowadzić do takich wyników:- Odczytanie zostało wykonane, ale dostępnych jest więcej danych. onReadCompleted()zostaje wywołany, a żądanie ponownie przechodzi w stan Oczekiwanie na odczytanie(). Aplikacja powinna ponownie wywołać metodęread(), aby kontynuować odczyt treści odpowiedzi. Aplikacja może też przerwać odczyt żądania, korzystając z metodycancel().
- Odczytanie zostało wykonane i nie ma więcej danych.
Metoda onSucceeded()jest wywoływana, a żądanie ma stan końcowy Powodzenie.
- Nie udało się odczytać. Wywoływana jest metoda onFailed, a ostateczny stan żądania to teraz Niepowodzenie.
 
- Odczytanie zostało wykonane, ale dostępnych jest więcej danych. 
Ten diagram przedstawia cykl życia obiektu UrlRequest:
Cykl życia żądania Cronet
| Legenda | |
|---|---|
| UrlRequestmetody | 
