InMemoryTransformCronetCallback

public abstract class InMemoryTransformCronetCallback<T> extends ImplicitFlowControlCallback

Sottoclassi dirette note
ByteArrayCronetCallback

Una specializzazione di InMemoryTransformCronetCallback che restituisce i byte del corpo letteralmente senza alcuna interpretazione.

JsonCronetCallback

Una specializzazione di InMemoryTransformCronetCallback che interpreta il corpo della risposta come JSON.

StringCronetCallback

Una specializzazione di InMemoryTransformCronetCallback che interpreta il corpo della risposta come una stringa.


Un callback Cronet astratto che legge l'intero corpo in memoria e, se vuoi, lo deserializza prima di passarlo di nuovo al mittente della richiesta HTTP.

Il richiedente può iscriversi per ricevere aggiornamenti sulla richiesta aggiungendo mListeners di completamento al callback. Quando la richiesta raggiunge uno stato terminale, i mListeners vengono informati in ordine di aggiunta.

Parametri
<T>

il tipo di corpo della risposta

Riepilogo

Costruttori pubblici

Metodi pubblici

ImplicitFlowControlCallback

Aggiunge un listener di completamento.

Metodi protetti

final void

Richiamato ogni volta che viene letta una parte del corpo della risposta.

final void

Richiamato se la richiesta è stata annullata tramite cancel.

final void

Richiamato se la richiesta non è riuscita per qualsiasi motivo dopo start.

final void

Richiamato quando viene ricevuto il set finale di intestazioni, dopo tutti i reindirizzamenti.

final void

Richiamato quando la richiesta viene completata correttamente.

abstract T
transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

Trasforma (deserializza) il corpo semplice completo in un oggetto definito dall'utente.

Metodi ereditati

Da org.chromium.net.apihelpers.ImplicitFlowControlCallback
final void

Richiamato se la richiesta è stata annullata tramite cancel.

final void
onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

Richiamato se la richiesta non è riuscita per qualsiasi motivo dopo start.

final void
onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

Richiamato ogni volta che viene letta una parte del corpo della risposta.

final void
onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

Viene richiamato ogni volta che viene rilevato un reindirizzamento.

final void

Richiamato quando viene ricevuto il set finale di intestazioni, dopo tutti i reindirizzamenti.

final void

Richiamato quando la richiesta viene completata correttamente.

abstract boolean

Viene richiamato ogni volta che viene rilevato un reindirizzamento.

Da org.chromium.net.UrlRequest.Callback
abstract void
onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

Richiamato se la richiesta non è riuscita per qualsiasi motivo dopo start.

abstract void
onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

Richiamato ogni volta che viene letta una parte del corpo della risposta.

abstract void
onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

Viene richiamato ogni volta che viene rilevato un reindirizzamento.

Costruttori pubblici

InMemoryTransformCronetCallback

public InMemoryTransformCronetCallback()

Metodi pubblici

addCompletionListener

public ImplicitFlowControlCallback addCompletionListener(CronetRequestCompletionListener<T> listener)

Aggiunge un listener di completamento. Tutti gli ascoltatori vengono informati quando la richiesta raggiunge uno stato terminale, in ordine di aggiunta. Se un listener viene aggiunto più volte, verrà chiamato una sola volta in base alla prima volta che è stato aggiunto.

Metodi protetti

onBodyChunkRead

protected final void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

Richiamato ogni volta che viene letta una parte del corpo della risposta. Potrebbe essere compilata solo una parte del buffer, anche se l'intero corpo della risposta non è ancora stato utilizzato. Il buffer è pronto per la lettura. I buffer vengono riutilizzati internamente, pertanto la classe di implementazione non deve archiviarli o utilizzarli in un altro punto dell'implementazione di questo metodo.

Parametri
UrlResponseInfo info

Informazioni sulla risposta.

ByteBuffer bodyChunk

Il buffer che contiene i dati ricevuti, invertiti per la lettura.

Genera
java.lang.Exception

se si verifica un errore durante l'elaborazione del completamento di una lettura. onFailed verrà chiamato con l'eccezione generata impostata come causa di CallbackException.

onCanceled

protected final void onCanceled(@Nullable UrlResponseInfo info)

Richiamato se la richiesta è stata annullata tramite cancel. Una volta richiamato, non verranno richiamati altri metodi UrlRequest.Callback.

Parametri
@Nullable UrlResponseInfo info

Informazioni sulla risposta. Potrebbe essere null se non è stata ricevuta alcuna risposta.

onFailed

protected final void onFailed(@Nullable UrlResponseInfo info, CronetException exception)

Richiamato se la richiesta non è riuscita per qualsiasi motivo dopo start. Una volta richiamato, non verranno richiamati altri metodi UrlRequest.Callback. error fornisce informazioni sull'errore.

Parametri
@Nullable UrlResponseInfo info

Informazioni sulla risposta. Potrebbe essere null se non è stata ricevuta alcuna risposta.

CronetException exception

informazioni sull'errore.

onResponseStarted

protected final void onResponseStarted(UrlResponseInfo info)

Richiamato quando viene ricevuto il set finale di intestazioni, dopo tutti i reindirizzamenti. Verrà richiamato una sola volta per ogni richiesta. È garantito che Cronet non inizi a leggere il corpo finché questo metodo non restituisce un valore.

Parametri
UrlResponseInfo info

Informazioni sulla risposta.

Genera
java.lang.Exception

Se si verifica un errore durante l'elaborazione dell'inizio della risposta, viene chiamato onFailed con l'eccezione generata impostata come causa di CallbackException.

onSucceeded

protected final void onSucceeded(UrlResponseInfo info)

Richiamato quando la richiesta viene completata correttamente. Una volta richiamato, non verranno richiamati altri metodi UrlRequest.Callback.

Parametri
UrlResponseInfo info

Informazioni sulla risposta.

transformBodyBytes

protected abstract T transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

Trasforma (deserializza) il corpo semplice completo in un oggetto definito dall'utente.

Si presume che le classi di implementazione gestiscano correttamente i casi limite (come corpi vuoti e malformati). Cronet non ispeziona gli oggetti e li trasmette (o eventuali eccezioni) al mittente della richiesta.