UrlRequest.Builder

abstract class UrlRequest.Builder


Builder per UrlRequest s. Consente di configurare le richieste prima di costruirle con build. Il generatore può essere creato chiamando il numero newUrlRequestBuilder.

Riepilogo

Costanti

const Int

Priorità più alta per le richieste.

const Int

Priorità più bassa della richiesta.

const Int

Priorità bassa della richiesta.

const Int

Priorità della richiesta molto bassa.

const Int

Priorità media della richiesta.

Costruttori pubblici

Funzioni pubbliche

abstract UrlRequest.Builder!
addHeader(header: String!, value: String!)

Aggiunge un'intestazione della richiesta.

UrlRequest.Builder!
addRequestAnnotation(annotation: Any!)

Associa l'oggetto annotazione a questa richiesta.

abstract UrlRequest.Builder!

Indica che gli esecutori che questa richiesta utilizzeranno per notificare i callback (per UploadDataProvider e UrlRequest.Callback) eseguono intenzionalmente l'esecuzione inline, come directExecutor di Guava o java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy.

UrlRequest.Builder!
bindToNetwork(networkHandle: Long)

Associa la richiesta all'handle di rete specificato.

abstract UrlRequest!

Crea un UrlRequest utilizzando la configurazione all'interno di questo Builder.

abstract UrlRequest.Builder!

Disabilita la cache per la richiesta.

abstract UrlRequest.Builder!

Imposta il verbo del metodo HTTP da utilizzare per questa richiesta.

abstract UrlRequest.Builder!
setPriority(priority: Int)

Imposta la priorità della richiesta, che deve essere uno dei valori REQUEST_PRIORITY_*.

UrlRequest.Builder!
@UrlRequest.Experimental
setRawCompressionDictionary(
    dictionarySha256Hash: ByteArray!,
    dictionary: ByteBuffer!,
    dictionaryId: String!
)

Consente a Cronet di utilizzare il dizionario di compressione specificato per questa richiesta.

UrlRequest.Builder!

Imposta un listener che viene richiamato dopo la restituzione di onCanceled(), onFailed() o onSucceeded().

UrlRequest.Builder!

Imposta il tag android.net.TrafficStats da utilizzare per contabilizzare il traffico socket causato da questa richiesta.

UrlRequest.Builder!

Imposta un UID specifico da utilizzare per il traffico socket causato da questa richiesta.

abstract UrlRequest.Builder!
setUploadDataProvider(
    uploadDataProvider: UploadDataProvider!,
    executor: Executor!
)

Imposta il fornitore di dati di caricamento.

Costanti

REQUEST_PRIORITY_HIGHEST

const val REQUEST_PRIORITY_HIGHEST = 4: Int

Priorità più alta per le richieste. Trasferito a setPriority.

REQUEST_PRIORITY_IDLE

const val REQUEST_PRIORITY_IDLE = 0: Int

Priorità più bassa della richiesta. Trasferito a setPriority.

REQUEST_PRIORITY_LOW

const val REQUEST_PRIORITY_LOW = 2: Int

Priorità bassa della richiesta. Trasferito a setPriority.

REQUEST_PRIORITY_LOWEST

const val REQUEST_PRIORITY_LOWEST = 1: Int

Priorità della richiesta molto bassa. Trasferito a setPriority.

REQUEST_PRIORITY_MEDIUM

const val REQUEST_PRIORITY_MEDIUM = 3: Int

Priorità media della richiesta. Trasferito a setPriority. Questa è la priorità predefinita assegnata alla richiesta.

Costruttori pubblici

Builder

Builder()

Funzioni pubbliche

addHeader

abstract fun addHeader(header: String!, value: String!): UrlRequest.Builder!

Aggiunge un'intestazione della richiesta.

Parametri
header: String!

nome dell'intestazione.

value: String!

valore dell'intestazione.

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

addRequestAnnotation

fun addRequestAnnotation(annotation: Any!): UrlRequest.Builder!

Associa l'oggetto annotazione a questa richiesta. Può aggiungerne più di uno. Trasferito a un RequestFinishedInfo.Listener, vedi getAnnotations.

Parametri
annotation: Any!

un oggetto da passare a RequestFinishedInfo.Listener con un RequestFinishedInfo.

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

allowDirectExecutor

abstract fun allowDirectExecutor(): UrlRequest.Builder!

Indica che gli esecutori che questa richiesta utilizzeranno per notificare i callback (per UploadDataProvider e UrlRequest.Callback) eseguono intenzionalmente l'esecuzione inline, come directExecutor di Guava o java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy.

Avviso:questa opzione semplifica il blocco accidentale del thread di rete. Non deve essere utilizzato se i callback eseguono operazioni di I/O su disco, acquisiscono blocchi o chiamano altro codice che non controlli e non verifichi attentamente.

bindToNetwork

fun bindToNetwork(networkHandle: Long): UrlRequest.Builder!

Associa la richiesta all'handle di rete specificato. Cronet invierà questa richiesta solo utilizzando la rete associata a questo handle. Se la rete si disconnette, la richiesta non andrà a buon fine. L'errore esatto dipende dalla fase di elaborazione della richiesta al momento della disconnessione della rete. Gli handle di rete possono essere ottenuti tramite Network#getNetworkHandle. Disponibile solo a partire da Android Marshmallow.

Parametri
networkHandle: Long

l'handle di rete a cui associare la richiesta. Specifica UNBIND_NETWORK_HANDLE per annullare l'associazione.

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

build

abstract fun build(): UrlRequest!

Crea un UrlRequest utilizzando la configurazione all'interno di questo Builder. La UrlRequest restituita può essere avviata chiamando il numero start.

Resi
UrlRequest!

UrlRequest costruito utilizzando la configurazione all'interno di questo Builder.

disableCache

abstract fun disableCache(): UrlRequest.Builder!

Disabilita la cache per la richiesta. Se il contesto non è configurato per utilizzare la cache, questa chiamata non ha alcun effetto.

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

setHttpMethod

abstract fun setHttpMethod(method: String!): UrlRequest.Builder!

Imposta il verbo del metodo HTTP da utilizzare per questa richiesta.

Il valore predefinito quando questo metodo non viene chiamato è "GET" se la richiesta non ha corpo o "POST" se ne ha uno.

Parametri
method: String!

"GET", "HEAD", "DELETE", "POST" o "PUT".

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

setPriority

abstract fun setPriority(priority: Int): UrlRequest.Builder!

Imposta la priorità della richiesta, che deve essere uno dei valori REQUEST_PRIORITY_*. Se questo metodo non viene chiamato, alla richiesta viene assegnata la priorità REQUEST_PRIORITY_MEDIUM.

Parametri
priority: Int

la priorità della richiesta, che deve essere uno dei valori REQUEST_PRIORITY_*.

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

setRawCompressionDictionary

@UrlRequest.Experimental
fun setRawCompressionDictionary(
    dictionarySha256Hash: ByteArray!,
    dictionary: ByteBuffer!,
    dictionaryId: String!
): UrlRequest.Builder!

Consente a Cronet di utilizzare il dizionario di compressione specificato per questa richiesta. Se specificato, Cronet potrebbe segnalare al server la disponibilità del dizionario di compressione. Affinché questa operazione abbia effetto, CronetEngine che eseguirà questa richiesta deve essere configurato per abilitare uno schema di compressione che supporti dizionari esterni. Questa implementazione parziale della bozza draft-ietf-httpbis-compression-dictionary all'interno di Cronet. Cronet non gestirà direttamente le intestazioni di risposta "Use-As-Dictionary", ma si affiderà all'incorporatore per: gestirle e chiamare in un secondo momento UrlRequest.Builder#setCompressionDictionary per le richieste che corrispondono alle regole di Use-As-Dictionary; oppure recuperare i dizionari di compressione tramite un altro meccanismo out-of-band e chiamare in un secondo momento UrlRequest.Builder#setCompressionDictionary. Cronet interpreterà il dizionario in modo che corrisponda solo a questa UrlRequest. Se la richiesta viene reindirizzata e l'incorporatore decide di seguire il reindirizzamento, il dizionario corrisponderà anche al nuovo URL.

Parametri
dictionarySha256Hash: ByteArray!

l'hash SHA-256 del dizionario di compressione specificato.

dictionary: ByteBuffer!

il dizionario di compressione che Cronet può utilizzare per questa UrlRequest. Deve essere un ByteBuffer diretto.

dictionaryId: String!

l'ID facoltativo associato a questo dizionario, deve essere una stringa vuota se non è presente. Se presente, questo valore verrà inviato tramite l'intestazione Dictionary-ID. Devi specificarlo se il server ha specificato un ID nella risposta "Use-As-Dictionary" (Usa come dizionario).

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

setRequestFinishedListener

fun setRequestFinishedListener(listener: RequestFinishedInfo.Listener!): UrlRequest.Builder!

Imposta un listener che viene richiamato dopo la restituzione di onCanceled(), onFailed() o onSucceeded().

Il listener viene richiamato con le informazioni di fine richiesta su un java.util.concurrent.Executor fornito da getExecutor().

Parametri
listener: RequestFinishedInfo.Listener!

il listener per le richieste completate.

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

setTrafficStatsTag

fun setTrafficStatsTag(tag: Int): UrlRequest.Builder!

Imposta il tag android.net.TrafficStats da utilizzare per contabilizzare il traffico socket causato da questa richiesta. Leggi i android.net.TrafficStats per avere ulteriori informazioni. Se non viene impostato alcun tag (ad es. questo metodo non viene chiamato), Android considera il traffico socket causato da questa richiesta come se il valore del tag fosse impostato su 0.

NOTA:l'impostazione di un tag non consente la condivisione dei socket con le richieste con altri tag, il che potrebbe influire negativamente sulle prestazioni vietando la condivisione delle connessioni. In altre parole, l'utilizzo di socket multiplexati (ad es. HTTP/2 e QUIC) sarà consentito solo se tutte le richieste hanno lo stesso tag socket.

Parametri
tag: Int

il valore del tag utilizzato per contabilizzare il traffico dei socket causato da questa richiesta. I tag compresi tra 0xFFFFFF00 e 0xFFFFFFFF sono riservati e utilizzati internamente dai servizi di sistema come android.app.DownloadManager quando eseguono il traffico per conto di un'applicazione.

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

setTrafficStatsUid

fun setTrafficStatsUid(uid: Int): UrlRequest.Builder!

Imposta un UID specifico da utilizzare per il traffico socket causato da questa richiesta. Consulta android.net.TrafficStats per ulteriori informazioni. Progettato per l'utilizzo durante l'esecuzione di un'operazione per conto di un'altra applicazione. Il chiamante deve disporre dell'autorizzazione MODIFY_NETWORK_ACCOUNTING. Per impostazione predefinita, il traffico viene attribuito all'UID del chiamante.

NOTA:l'impostazione di un UID non consente la condivisione di socket con richieste con altri UID, il che potrebbe influire negativamente sulle prestazioni vietando la condivisione delle connessioni. In altre parole, l'utilizzo di socket multiplexati (ad es. HTTP/2 e QUIC) sarà consentito solo se tutte le richieste hanno lo stesso UID impostato.

Parametri
uid: Int

l'UID a cui attribuire il traffico socket causato da questa richiesta.

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.

setUploadDataProvider

abstract fun setUploadDataProvider(
    uploadDataProvider: UploadDataProvider!,
    executor: Executor!
): UrlRequest.Builder!

Imposta il fornitore di dati di caricamento. Se non è impostato esplicitamente, il metodo viene impostato su "POST". L'avvio della richiesta genererà un'eccezione se non è impostata un'intestazione Content-Type.

Parametri
uploadDataProvider: UploadDataProvider!

responsabile della fornitura dei dati di caricamento.

executor: Executor!

Tutti i metodi uploadDataProvider verranno richiamati utilizzando questo Executor. Può essere facoltativamente lo stesso Executor utilizzato dalla richiesta stessa.

Resi
UrlRequest.Builder!

lo strumento di creazione per facilitare il concatenamento.