UrlRequest.Builder

public abstract class UrlRequest.Builder


UrlRequest için derleyici. build ile oluşturulmadan önce isteklerin yapılandırılmasına olanak tanır. Oluşturucu, newUrlRequestBuilder çağrılarak oluşturulabilir.

Özet

Sabitler

static final int

En yüksek istek önceliği.

static final int

En düşük istek önceliği.

static final int

Düşük istek önceliği.

static final int

İstek önceliği çok düşük.

static final int

Orta düzeyde istek önceliği.

Herkese açık oluşturucular

Herkese açık yöntemler

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

İstek başlığı ekler.

UrlRequest.Builder

Ek açıklama nesnesini bu istekle ilişkilendirir.

abstract UrlRequest.Builder

Bu isteği yürütenlerin geri çağırmaları ( UploadDataProvider ve UrlRequest.Callback için) bildirmek üzere kullanacağı işaretlerin, Guava'nın directExecutor'ı veya java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy gibi satır içi yürütmeyi kasıtlı olarak gerçekleştirdiği anlamına gelir.

UrlRequest.Builder
bindToNetwork(long networkHandle)

İsteği belirtilen ağ tanıtıcısına bağlar.

abstract UrlRequest

Bu Builder içindeki yapılandırmayı kullanarak bir UrlRequest oluşturur.

abstract UrlRequest.Builder

İstek için önbelleği devre dışı bırakır.

abstract UrlRequest.Builder

Bu istek için kullanılacak HTTP yöntemi fiilini ayarlar.

abstract UrlRequest.Builder
setPriority(int priority)

İsteğin önceliğini ayarlar. Bu değer, REQUEST_PRIORITY_* değerlerinden biri olmalıdır.

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

Cronet'in bu istek için belirtilen sıkıştırma sözlüğünü kullanmasına izin verir.

UrlRequest.Builder

onCanceled(), onFailed() veya onSucceeded() döndükten sonra çağrılan bir dinleyici ayarlar.

UrlRequest.Builder

Bu istekten kaynaklanan soket trafiği hesaplanırken kullanılacak android.net.TrafficStats etiketini ayarlar.

UrlRequest.Builder

Bu istekten kaynaklanan soket trafiğini hesaplarken kullanılacak belirli bir UID ayarlar.

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

Yükleme veri sağlayıcısını ayarlar.

Sabitler

REQUEST_PRIORITY_HIGHEST

public static final int REQUEST_PRIORITY_HIGHEST = 4

En yüksek istek önceliği. setPriority adlı hesaba aktarıldı.

REQUEST_PRIORITY_IDLE

public static final int REQUEST_PRIORITY_IDLE = 0

En düşük istek önceliği. setPriority adlı hesaba aktarıldı.

REQUEST_PRIORITY_LOW

public static final int REQUEST_PRIORITY_LOW = 2

Düşük istek önceliği. setPriority adlı hesaba aktarıldı.

REQUEST_PRIORITY_LOWEST

public static final int REQUEST_PRIORITY_LOWEST = 1

İstek önceliği çok düşük. setPriority adlı hesaba aktarıldı.

REQUEST_PRIORITY_MEDIUM

public static final int REQUEST_PRIORITY_MEDIUM = 3

Orta düzeyde istek önceliği. setPriority adlı hesaba aktarıldı. Bu, isteğe verilen varsayılan önceliktir.

Herkese açık oluşturucular

Derleyici

public Builder()

Herkese açık yöntemler

addHeader

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

İstek başlığı ekler.

Parametreler
String header

üstbilgi adı.

String value

üstbilgi değeri.

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

addRequestAnnotation

public UrlRequest.Builder addRequestAnnotation(Object annotation)

Ek açıklama nesnesini bu istekle ilişkilendirir. Birden fazla ekleyebilirsiniz. RequestFinishedInfo.Listener aracılığıyla iletildi. getAnnotations bölümüne bakın.

Parametreler
Object annotation

RequestFinishedInfo ile RequestFinishedInfo.Listener'ya iletilecek bir nesne.

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

allowDirectExecutor

public abstract UrlRequest.Builder allowDirectExecutor()

Bu isteği yürütenlerin geri çağırmaları ( UploadDataProvider ve UrlRequest.Callback için) bildirmek üzere kullanacağı işaretlerin, Guava'nın directExecutor'ı veya java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy gibi satır içi yürütmeyi kasıtlı olarak gerçekleştirdiği anlamına gelir.

Uyarı: Bu seçenek, ağ iş parçacığının yanlışlıkla engellenmesini kolaylaştırır. Geri çağırma işlemleriniz disk G/Ç'si gerçekleştiriyorsa, kilitler alıyorsa veya dikkatli bir şekilde kontrol edip denetlemediğiniz başka bir kodu çağırıyorsa kullanılmamalıdır.

bindToNetwork

public UrlRequest.Builder bindToNetwork(long networkHandle)

İsteği belirtilen ağ tanıtıcısına bağlar. Cronet, bu isteği yalnızca bu işleyiciyle ilişkili ağı kullanarak gönderir. Bu ağ bağlantısı kesilirse istek başarısız olur. Tam hata, ağ bağlantısının kesildiği sırada istek işleme aşamasına bağlıdır. Ağ kullanıcı adları Network#getNetworkHandle üzerinden alınabilir. Yalnızca Android Marshmallow ve sonraki sürümlerde kullanılabilir.

Parametreler
long networkHandle

İsteğin bağlanacağı ağ tanıtıcısı. Bağlantıyı kaldırmak için UNBIND_NETWORK_HANDLE değerini belirtin.

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

yapı

public abstract UrlRequest build()

Bu Builder içindeki yapılandırmayı kullanarak bir UrlRequest oluşturur. Geri dönen UrlRequest, start aranarak başlatılabilir.

İadeler
UrlRequest

Bu Builder içindeki yapılandırma kullanılarak UrlRequest oluşturuldu.

disableCache

public abstract UrlRequest.Builder disableCache()

İstek için önbelleği devre dışı bırakır. Bağlam, önbelleği kullanacak şekilde ayarlanmamışsa bu çağrının etkisi olmaz.

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setHttpMethod

public abstract UrlRequest.Builder setHttpMethod(String method)

Bu istek için kullanılacak HTTP yöntemi fiilini ayarlar.

Bu yöntem çağrılmadığında varsayılan olarak, istekte gövde yoksa "GET", varsa "POST" kullanılır.

Parametreler
String method

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

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setPriority

public abstract UrlRequest.Builder setPriority(int priority)

İsteğin önceliğini ayarlar. Bu değer, REQUEST_PRIORITY_* değerlerinden biri olmalıdır. Bu yöntem çağrılmazsa isteğe REQUEST_PRIORITY_MEDIUM önceliği verilir.

Parametreler
int priority

İsteğin önceliği, REQUEST_PRIORITY_* değerlerinden biri olmalıdır.

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setRawCompressionDictionary

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

Cronet'in bu istek için belirtilen sıkıştırma sözlüğünü kullanmasına izin verir. Belirtildiğinde Cronet, söz konusu sıkıştırma sözlüğünün kullanılabilirliğini sunucuya bildirebilir. Bunun herhangi bir etkisi olması için bu isteği yürütecek CronetEngine'in, harici sözlükleri destekleyen bir sıkıştırma şemasını etkinleştirecek şekilde yapılandırılmış olması gerekir. Bu, Cronet'te draft-ietf-httpbis-compression-dictionary'nin kısmen uygulanmasını sağlar. Cronet, "Use-As-Dictionary " yanıt başlıklarını doğrudan işlemez. Bunun yerine, bunları işlemek ve daha sonra Use-As-Dictionary kurallarına uyan istekler için UrlRequest.Builder#setCompressionDictionary'yi çağırmak ya da bant dışı başka bir mekanizma aracılığıyla sıkıştırma sözlüklerini getirmek ve daha sonra UrlRequest.Builder#setCompressionDictionary'yi çağırmak için yerleştiriciye güvenir. Cronet, sözlüğü yalnızca bu UrlRequest ile eşleşecek şekilde yorumlar. Söz konusu istek yönlendirilirse ve yerleştirici yönlendirmeyi takip etmeye karar verirse sözlük yeni URL ile de eşleşir.

Parametreler
byte[] dictionarySha256Hash

Belirtilen sıkıştırma sözlüğünün SHA-256'sı.

ByteBuffer dictionary

Cronet'in bu UrlRequest için kullanabileceği sıkıştırma sözlüğü. Bu, doğrudan bir ByteBuffer olmalıdır.

String dictionaryId

Bu sözlükle ilişkilendirilmiş isteğe bağlı kimlik. Eksikse boş bir dize olmalıdır. Varsa bu, Dictionary-ID başlığı aracılığıyla gönderilir. Sunucu, "Use-As-Dictionary" yanıtında bir kimlik belirtmişse bunu belirtmeniz gerekir.

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setRequestFinishedListener

public UrlRequest.Builder setRequestFinishedListener(RequestFinishedInfo.Listener listener)

onCanceled(), onFailed() veya onSucceeded() döndükten sonra çağrılan bir dinleyici ayarlar.

Dinleyici, getExecutor() tarafından sağlanan bir java.util.concurrent.Executor üzerinde istek tamamlandı bilgileriyle çağrılır.

Parametreler
RequestFinishedInfo.Listener listener

Tamamlanan istekler için dinleyici.

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setTrafficStatsTag

public UrlRequest.Builder setTrafficStatsTag(int tag)

Bu istekten kaynaklanan soket trafiği hesaplanırken kullanılacak android.net.TrafficStats etiketini ayarlar. Daha fazla bilgi için android.net.TrafficStats dokümanına bakın. Etiket ayarlanmamışsa (ör. bu yöntem çağrılmamışsa) Android, etiket değeri 0 olarak ayarlanmış gibi bu isteğin neden olduğu soket trafiğini hesaba katar.

NOT: Etiket ayarlamak, soketlerin diğer etiketlere sahip isteklerle paylaşılmasına izin vermez. Bu durum, bağlantı paylaşımını engelleyerek performansı olumsuz etkileyebilir. Diğer bir deyişle, çoklu soketlerin (ör. HTTP/2 ve QUIC) kullanılması yalnızca tüm isteklerin aynı soket etiketine sahip olması durumunda mümkündür.

Parametreler
int tag

Bu istekten kaynaklanan soket trafiği hesaplanırken kullanılan etiket değeri. 0xFFFFFF00 ile 0xFFFFFFFF arasındaki etiketler ayrılmıştır ve bir uygulama adına trafik gerçekleştirirken android.app.DownloadManager gibi sistem hizmetleri tarafından dahili olarak kullanılır.

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setTrafficStatsUid

public UrlRequest.Builder setTrafficStatsUid(int uid)

Bu istekten kaynaklanan soket trafiğini hesaplarken kullanılacak belirli bir UID ayarlar. Daha fazla bilgi için android.net.TrafficStats sayfasına göz atın. Başka bir uygulama adına işlem yaparken kullanılmak üzere tasarlanmıştır. Arayan kullanıcının MODIFY_NETWORK_ACCOUNTING izni olmalıdır. Varsayılan olarak trafik, arayanın UID'sine ilişkilendirilir.

NOT: UID ayarlamak, soketlerin diğer UID'lere sahip isteklerle paylaşılmasına izin vermez. Bu durum, bağlantı paylaşımını engelleyerek performansı olumsuz etkileyebilir. Diğer bir deyişle, çoklu soketlerin (ör. HTTP/2 ve QUIC) kullanılması yalnızca tüm isteklerde aynı UID ayarlanmışsa mümkün olacaktır.

Parametreler
int uid

Bu isteğin neden olduğu soket trafiğini ilişkilendirmek için kullanılan UID.

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu

setUploadDataProvider

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

Yükleme veri sağlayıcısını ayarlar. Açıkça ayarlanmamışsa yöntemi "POST" olarak değiştirir. İstek başlatılırken Content-Type başlığı ayarlanmamışsa istisna oluşturulur.

Parametreler
UploadDataProvider uploadDataProvider

yükleme verilerini sağlamaktan sorumludur.

Executor executor

Tüm uploadDataProvider yöntemleri bu Executor kullanılarak çağrılır. İsteğin kendisiyle aynı olabilir. Executor

İadeler
UrlRequest.Builder

zincirleme oluşturmayı kolaylaştırmak için oluşturucu