UrlRequest.Builder

public abstract class UrlRequest.Builder


Kreator dla UrlRequest. Umożliwia konfigurowanie żądań przed ich utworzeniem za pomocą funkcji build. Możesz utworzyć narzędzie do tworzenia, wywołując funkcję newUrlRequestBuilder.

Podsumowanie

Stałe

static final int

Najwyższy priorytet żądania.

static final int

Najniższy priorytet żądania.

static final int

Niski priorytet żądania.

static final int

Bardzo niski priorytet żądania.

static final int

Żądanie o średnim priorytecie.

Konstruktory publiczne

Metody publiczne

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

Dodaje nagłówek żądania.

UrlRequest.Builder

Powiązuje obiekt adnotacji z tym żądaniem.

abstract UrlRequest.Builder

Oznacza, że wykonawcy, których użyje to żądanie do powiadamiania wywołań zwrotnych (w przypadku UploadDataProviderUrlRequest.Callback), celowo wykonują działanie w linii, np. directExecutor z biblioteki Guava lub java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy.

UrlRequest.Builder
bindToNetwork(long networkHandle)

Wiąże żądanie z określonym uchwytem sieci.

abstract UrlRequest

Tworzy UrlRequest za pomocą konfiguracji w tym Builder.

abstract UrlRequest.Builder

Wyłącza pamięć podręczną dla żądania.

abstract UrlRequest.Builder

Ustawia czasownik metody HTTP, który ma być używany w tym żądaniu.

abstract UrlRequest.Builder
setPriority(int priority)

Ustawia priorytet żądania, który powinien być jedną z wartości REQUEST_PRIORITY_*.

UrlRequest.Builder
@UrlRequest.Experimental
setRawCompressionDictionary(
    byte[] dictionarySha256Hash,
    ByteBuffer dictionary,
    String dictionaryId
)

Umożliwia Cronetowi używanie określonego słownika kompresji w przypadku tego żądania.

UrlRequest.Builder

Ustawia odbiornik, który jest wywoływany po zwróceniu wartości onCanceled(), onFailed() lub onSucceeded().

UrlRequest.Builder

Ustawia tag android.net.TrafficStats, który będzie używany podczas rozliczania ruchu gniazda spowodowanego przez to żądanie.

UrlRequest.Builder

Ustawia konkretny identyfikator UID, który będzie używany podczas rozliczania ruchu gniazda spowodowanego przez to żądanie.

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

Ustawia dostawcę danych przesyłanych przez użytkowników.

Stałe

REQUEST_PRIORITY_HIGHEST

public static final int REQUEST_PRIORITY_HIGHEST = 4

Najwyższy priorytet żądania. Przekazano do setPriority.

REQUEST_PRIORITY_IDLE

public static final int REQUEST_PRIORITY_IDLE = 0

Najniższy priorytet żądania. Przekazano do setPriority.

REQUEST_PRIORITY_LOW

public static final int REQUEST_PRIORITY_LOW = 2

Niski priorytet żądania. Przekazano do setPriority.

REQUEST_PRIORITY_LOWEST

public static final int REQUEST_PRIORITY_LOWEST = 1

Bardzo niski priorytet żądania. Przekazano do setPriority.

REQUEST_PRIORITY_MEDIUM

public static final int REQUEST_PRIORITY_MEDIUM = 3

Żądanie o średnim priorytecie. Przekazano do setPriority. Jest to domyślny priorytet przypisany do żądania.

Konstruktory publiczne

Kreator

public Builder()

Metody publiczne

addHeader

public abstract UrlRequest.Builder addHeader(String header, String value)

Dodaje nagłówek żądania.

Parametry
String header

nazwę nagłówka.

String value

wartość nagłówka.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

addRequestAnnotation

public UrlRequest.Builder addRequestAnnotation(Object annotation)

Powiązuje obiekt adnotacji z tym żądaniem. Możesz dodać więcej niż jeden. Przekazywane do RequestFinishedInfo.Listener, patrz getAnnotations.

Parametry
Object annotation

obiekt do przekazania do RequestFinishedInfo.Listener z właściwością RequestFinishedInfo.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

allowDirectExecutor

public abstract UrlRequest.Builder allowDirectExecutor()

Oznacza, że wykonawcy, których użyje to żądanie do powiadamiania wywołań zwrotnych (w przypadku UploadDataProviderUrlRequest.Callback), celowo wykonują działanie w linii, np. directExecutor z biblioteki Guava lub java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy.

Ostrzeżenie: ta opcja ułatwia przypadkowe zablokowanie wątku sieciowego. Nie należy go używać, jeśli wywołania zwrotne wykonują operacje wejścia/wyjścia na dysku, uzyskują blokady lub wywołują inny kod, nad którym nie masz pełnej kontroli i którego nie możesz dokładnie sprawdzić.

bindToNetwork

public UrlRequest.Builder bindToNetwork(long networkHandle)

Wiąże żądanie z określonym uchwytem sieci. Cronet wyśle tę prośbę tylko za pomocą sieci powiązanej z tym uchwytem. Jeśli ta sieć zostanie odłączona, żądanie nie zostanie zrealizowane. Dokładny błąd zależy od etapu przetwarzania żądania, na którym nastąpi odłączenie sieci. Uchwyty sieci można uzyskać za pomocą Network#getNetworkHandle. Dostępne tylko na urządzeniach z Androidem Marshmallow.

Parametry
long networkHandle

uchwyt sieci, do którego ma być powiązana prośba. Aby usunąć powiązanie, wpisz UNBIND_NETWORK_HANDLE.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

kompilacja

public abstract UrlRequest build()

Tworzy UrlRequest za pomocą konfiguracji w tym Builder. Zwrócony UrlRequest można następnie uruchomić, wywołując start.

Zwraca
UrlRequest

skonstruowany UrlRequest na podstawie konfiguracji w tym Builder.

disableCache

public abstract UrlRequest.Builder disableCache()

Wyłącza pamięć podręczną dla żądania. Jeśli kontekst nie jest skonfigurowany do korzystania z pamięci podręcznej, to wywołanie nie ma żadnego efektu.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

setHttpMethod

public abstract UrlRequest.Builder setHttpMethod(String method)

Ustawia czasownik metody HTTP, który ma być używany w tym żądaniu.

Jeśli ta metoda nie zostanie wywołana, domyślnie używana jest metoda „GET”, jeśli żądanie nie ma treści, lub „POST”, jeśli ma treść.

Parametry
String method

„GET”, „HEAD”, „DELETE”, „POST” lub „PUT”.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

setPriority

public abstract UrlRequest.Builder setPriority(int priority)

Ustawia priorytet żądania, który powinien być jedną z wartości REQUEST_PRIORITY_*. Jeśli ta metoda nie zostanie wywołana, żądanie otrzyma priorytet REQUEST_PRIORITY_MEDIUM.

Parametry
int priority

priorytet żądania, który powinien być jedną z wartości REQUEST_PRIORITY_*.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

setRawCompressionDictionary

@UrlRequest.Experimental
public UrlRequest.Builder setRawCompressionDictionary(
    byte[] dictionarySha256Hash,
    ByteBuffer dictionary,
    String dictionaryId
)

Umożliwia Cronetowi używanie określonego słownika kompresji w przypadku tego żądania. Jeśli jest określony, Cronet może sygnalizować serwerowi dostępność danego słownika kompresji. Aby to ustawienie miało jakikolwiek wpływ, silnik CronetEngine, który wykona to żądanie, musi być skonfigurowany tak, aby włączał schemat kompresji obsługujący słowniki zewnętrzne. Ta funkcja częściowo implementuje w Cronet roboczą wersję dokumentu draft-ietf-httpbis-compression-dictionary. Cronet nie będzie bezpośrednio obsługiwać nagłówków odpowiedzi „Use-As-Dictionary”. Zamiast tego będzie polegać na aplikacji osadzającej, która będzie je obsługiwać, a następnie wywoływać metodę UrlRequest.Builder#setCompressionDictionary w przypadku żądań zgodnych z regułami „Use-As-Dictionary”. Może też pobierać słowniki kompresji za pomocą innego mechanizmu poza pasmem, a następnie wywoływać metodę UrlRequest.Builder#setCompressionDictionary. Cronet zinterpretuje słownik jako pasujący tylko do tego obiektu UrlRequest. Jeśli żądanie zostanie przekierowane, a osoba umieszczająca zdecyduje się na przekierowanie, słownik będzie pasować również do nowego adresu URL.

Parametry
byte[] dictionarySha256Hash

skrót SHA-256 określonego słownika kompresji.

ByteBuffer dictionary

słownik kompresji, którego Cronet może używać w przypadku tego obiektu UrlRequest. Musi to być bezpośredni obiekt ByteBuffer.

String dictionaryId

opcjonalny identyfikator powiązany z tym słownikiem. Jeśli go brakuje, musi to być pusty ciąg znaków. Jeśli ta wartość jest obecna, zostanie wysłana w nagłówku Dictionary-ID. Musisz to określić, jeśli serwer podał identyfikator w odpowiedzi „Use-As-Dictionary”.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

setRequestFinishedListener

public UrlRequest.Builder setRequestFinishedListener(RequestFinishedInfo.Listener listener)

Ustawia odbiornik, który jest wywoływany po zwróceniu wartości onCanceled(), onFailed() lub onSucceeded().

Słuchacz jest wywoływany z informacjami o zakończeniu żądania na obiekcie java.util.concurrent.Executor dostarczonym przez getExecutor().

Parametry
RequestFinishedInfo.Listener listener

odbiornik ukończonych żądań.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

setTrafficStatsTag

public UrlRequest.Builder setTrafficStatsTag(int tag)

Ustawia tag android.net.TrafficStats, który będzie używany podczas rozliczania ruchu gniazda spowodowanego przez to żądanie. Przeczytaj android.net.TrafficStats, by dowiedzieć się więcej. Jeśli tag nie jest ustawiony (np. ta metoda nie jest wywoływana), Android uwzględnia ruch gniazda spowodowany przez to żądanie tak, jakby wartość tagu była ustawiona na 0.

UWAGA: ustawienie tagu uniemożliwia udostępnianie gniazd żądaniom z innymi tagami, co może negatywnie wpłynąć na wydajność, ponieważ uniemożliwia udostępnianie połączeń. Innymi słowy, używanie multipleksowanych gniazd (np. HTTP/2 i QUIC) będzie dozwolone tylko wtedy, gdy wszystkie żądania będą miały ten sam tag gniazda.

Parametry
int tag

wartość tagu używana podczas rozliczania ruchu gniazd spowodowanego przez to żądanie. Tagi z zakresu od 0xFFFFFF00 do 0xFFFFFFFF są zarezerwowane i używane wewnętrznie przez usługi systemowe, takie jak android.app.DownloadManager, podczas przesyłania ruchu w imieniu aplikacji.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

setTrafficStatsUid

public UrlRequest.Builder setTrafficStatsUid(int uid)

Ustawia konkretny identyfikator UID, który będzie używany podczas rozliczania ruchu gniazda spowodowanego przez to żądanie. Więcej informacji znajdziesz tutaj: android.net.TrafficStats. Przeznaczony do użycia podczas wykonywania operacji w imieniu innej aplikacji. Dzwoniący musi mieć uprawnienie MODIFY_NETWORK_ACCOUNTING. Domyślnie ruch jest przypisywany do identyfikatora UID osoby dzwoniącej.

UWAGA: ustawienie identyfikatora UID uniemożliwia udostępnianie gniazd żądaniom z innymi identyfikatorami UID, co może negatywnie wpłynąć na wydajność, ponieważ uniemożliwia udostępnianie połączeń. Innymi słowy, używanie multipleksowanych gniazd (np. HTTP/2 i QUIC) będzie dozwolone tylko wtedy, gdy wszystkie żądania mają ustawiony ten sam identyfikator UID.

Parametry
int uid

identyfikator UID do przypisywania ruchu gniazda spowodowanego przez to żądanie;

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.

setUploadDataProvider

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

Ustawia dostawcę danych przesyłanych przez użytkowników. Jeśli nie zostanie określona, metoda zostanie zmieniona na „POST”. Rozpoczęcie żądania spowoduje zgłoszenie wyjątku, jeśli nie ustawiono nagłówka Content-Type.

Parametry
UploadDataProvider uploadDataProvider

odpowiedzialny za dostarczanie danych do przesyłania.

Executor executor

Wszystkie metody obiektu uploadDataProvider będą wywoływane za pomocą tego obiektu Executor. Może być opcjonalnie taka sama jak Executor, której używa samo żądanie.

Zwraca
UrlRequest.Builder

w narzędziu do tworzenia, aby ułatwić łączenie.