UrlRequest.Builder

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

const Int

En yüksek istek önceliği.

const Int

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

const Int

Düşük istek önceliği.

const Int

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

const Int

Orta düzeyde istek önceliği.

Herkese açık oluşturucular

Herkese açık işlevler

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

İstek başlığı ekler.

UrlRequest.Builder!
addRequestAnnotation(annotation: Any!)

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(networkHandle: Long)

İ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(priority: Int)

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

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

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

const val REQUEST_PRIORITY_HIGHEST = 4: Int

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

REQUEST_PRIORITY_IDLE

const val REQUEST_PRIORITY_IDLE = 0: Int

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

REQUEST_PRIORITY_LOW

const val REQUEST_PRIORITY_LOW = 2: Int

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

REQUEST_PRIORITY_LOWEST

const val REQUEST_PRIORITY_LOWEST = 1: Int

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

REQUEST_PRIORITY_MEDIUM

const val REQUEST_PRIORITY_MEDIUM = 3: Int

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

Herkese açık oluşturucular

Derleyici

Builder()

Herkese açık işlevler

addHeader

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

İstek başlığı ekler.

Parametreler
header: String!

üstbilgi adı.

value: String!

üstbilgi değeri.

İadeler
UrlRequest.Builder!

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

addRequestAnnotation

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

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
annotation: Any!

RequestFinishedInfo ile RequestFinishedInfo.Listener'ya iletilecek bir nesne.

İadeler
UrlRequest.Builder!

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

allowDirectExecutor

abstract fun allowDirectExecutor(): 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.

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

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

İ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
networkHandle: Long

İ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ı

abstract fun build(): UrlRequest!

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

abstract fun disableCache(): UrlRequest.Builder!

İ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

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

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
method: String!

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

İadeler
UrlRequest.Builder!

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

setPriority

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

İ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
priority: Int

İ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
fun setRawCompressionDictionary(
    dictionarySha256Hash: ByteArray!,
    dictionary: ByteBuffer!,
    dictionaryId: String!
): UrlRequest.Builder!

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
dictionarySha256Hash: ByteArray!

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

dictionary: ByteBuffer!

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

dictionaryId: String!

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

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

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
listener: RequestFinishedInfo.Listener!

Tamamlanan istekler için dinleyici.

İadeler
UrlRequest.Builder!

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

setTrafficStatsTag

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

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
tag: Int

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

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

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
uid: Int

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

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

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