سازنده درخواست آدرس

public abstract class UrlRequest.Builder


سازنده برای UrlRequest ها. امکان پیکربندی درخواست‌ها قبل از ساخت آنها با build فراهم می‌کند. سازنده را می‌توان با فراخوانی newUrlRequestBuilder ایجاد کرد.

خلاصه

ثابت‌ها

static final int

بالاترین اولویت درخواست.

static final int

کمترین اولویت درخواست.

static final int

اولویت درخواست پایین.

static final int

اولویت درخواست بسیار پایین.

static final int

اولویت درخواست متوسط.

سازندگان عمومی

Builder ()

روش‌های عمومی

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

یک هدر درخواست اضافه می‌کند.

UrlRequest.Builder

شیء حاشیه‌نویسی را با این درخواست مرتبط می‌کند.

abstract UrlRequest.Builder

علامت‌گذاری می‌کند که اجراکننده‌هایی که این درخواست برای اطلاع‌رسانی به فراخوانی‌های برگشتی (برای UploadDataProvider و UrlRequest.Callback ) استفاده خواهد کرد، عمداً اجرای درون‌خطی انجام می‌دهند، مانند directExecutor یا java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy در Guava.

UrlRequest.Builder
bindToNetwork (long networkHandle)

درخواست را به شناسه شبکه مشخص شده متصل می‌کند.

abstract UrlRequest
build ()

با استفاده از پیکربندی درون این Builder یک UrlRequest ایجاد می‌کند.

abstract UrlRequest.Builder

حافظه پنهان (cache) را برای درخواست غیرفعال می‌کند.

abstract UrlRequest.Builder

فعل متد HTTP مورد استفاده برای این درخواست را تنظیم می‌کند.

abstract UrlRequest.Builder
setPriority (int priority)

اولویت درخواست را که باید یکی از مقادیر REQUEST_PRIORITY_* باشد، تعیین می‌کند.

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

به Cronet اجازه می‌دهد تا از دیکشنری فشرده‌سازی مشخص‌شده برای این درخواست استفاده کند.

UrlRequest.Builder

یک شنونده (listener) تنظیم می‌کند که پس از بازگشت onCanceled() ، onFailed() یا onSucceeded() فراخوانی می‌شود.

UrlRequest.Builder

تگ android.net.TrafficStats را برای استفاده هنگام محاسبه ترافیک سوکت ناشی از این درخواست تنظیم می‌کند.

UrlRequest.Builder

شناسه کاربری (UID) خاصی را برای استفاده هنگام محاسبه ترافیک سوکت ناشی از این درخواست تنظیم می‌کند.

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

ارائه دهنده داده آپلود را تنظیم می‌کند.

ثابت‌ها

بالاترین اولویت درخواست

public static final int REQUEST_PRIORITY_HIGHEST = 4

بالاترین اولویت درخواست. به setPriority ارسال شد.

درخواست_اولویت_شناسه

public static final int REQUEST_PRIORITY_IDLE = 0

کمترین اولویت درخواست. به setPriority ارسال شد.

اولویت درخواست پایین

public static final int REQUEST_PRIORITY_LOW = 2

اولویت درخواست پایین. به setPriority ارسال شد.

درخواست_اولویت_پایین‌ترین

public static final int REQUEST_PRIORITY_LOWEST = 1

اولویت درخواست بسیار پایین. به setPriority ارسال شد.

درخواست_اولویت_متوسط

public static final int REQUEST_PRIORITY_MEDIUM = 3

اولویت درخواست متوسط. به setPriority ارسال شد. این اولویت پیش‌فرض داده شده به درخواست است.

سازندگان عمومی

سازنده

public Builder()

روش‌های عمومی

اضافه کردن هدر

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

یک هدر درخواست اضافه می‌کند.

پارامترها
String header

نام سربرگ.

String value

مقدار هدر.

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

حاشیه‌نویسی درخواست اضافه

public UrlRequest.Builder addRequestAnnotation(Object annotation)

شیء annotation را با این درخواست مرتبط می‌کند. می‌تواند بیش از یک مورد اضافه کند. به RequestFinishedInfo.Listener ارسال می‌شود، getAnnotations مراجعه کنید.

پارامترها
Object annotation

یک شیء برای ارسال به RequestFinishedInfo.Listener با RequestFinishedInfo .

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

allowDirectExecutor

public abstract UrlRequest.Builder allowDirectExecutor()

علامت‌گذاری می‌کند که اجراکننده‌هایی که این درخواست برای اطلاع‌رسانی به فراخوانی‌های برگشتی (برای UploadDataProvider و UrlRequest.Callback ) استفاده خواهد کرد، عمداً اجرای درون‌خطی انجام می‌دهند، مانند directExecutor یا java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy در Guava.

هشدار: این گزینه باعث می‌شود که به راحتی بتوان به طور تصادفی thread شبکه را مسدود کرد. اگر callback های شما ورودی/خروجی دیسک را انجام می‌دهند، قفل‌هایی را ایجاد می‌کنند یا کد دیگری را که به دقت کنترل و حسابرسی نمی‌کنید، فراخوانی می‌کنند، نباید از این گزینه استفاده شود.

bindToNetwork

public UrlRequest.Builder bindToNetwork(long networkHandle)

درخواست را به شناسه شبکه مشخص شده متصل می‌کند. Cronet این درخواست را فقط با استفاده از شبکه مرتبط با این شناسه ارسال می‌کند. اگر این شبکه قطع شود، درخواست با شکست مواجه می‌شود، خطای دقیق به مرحله پردازش درخواست هنگام قطع شبکه بستگی دارد. شناسه‌های شبکه را می‌توان از طریق Network#getNetworkHandle دریافت کرد. فقط از اندروید مارشمالو به بعد در دسترس است.

پارامترها
long networkHandle

شناسه شبکه‌ای که درخواست به آن متصل می‌شود. برای لغو اتصال، UNBIND_NETWORK_HANDLE را مشخص کنید.

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

ساختن

public abstract UrlRequest build()

با استفاده از پیکربندی درون این Builder یک UrlRequest ایجاد می‌کند. UrlRequest برگردانده شده سپس می‌تواند با فراخوانی start آغاز شود.

بازگشت‌ها
UrlRequest

UrlRequest با استفاده از پیکربندی درون این Builder ساخته است.

غیرفعال کردن حافظه پنهان

public abstract UrlRequest.Builder disableCache()

حافظه پنهان (cache) را برای درخواست غیرفعال می‌کند. اگر context برای استفاده از حافظه پنهان (cache) تنظیم نشده باشد، این فراخوانی هیچ تاثیری نخواهد داشت.

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

متد setHttp

public abstract UrlRequest.Builder setHttpMethod(String method)

فعل متد HTTP مورد استفاده برای این درخواست را تنظیم می‌کند.

مقدار پیش‌فرض در مواقعی که این متد فراخوانی نمی‌شود، اگر درخواست بدنه نداشته باشد، "GET" و در صورت داشتن بدنه، "POST" است.

پارامترها
String method

«دریافت»، «هد»، «حذف»، «پست» یا «قرار دادن».

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

اولویت را تنظیم کنید

public abstract UrlRequest.Builder setPriority(int priority)

اولویت درخواست را که باید یکی از مقادیر REQUEST_PRIORITY_* باشد، تنظیم می‌کند. در صورت عدم فراخوانی این متد، اولویت REQUEST_PRIORITY_MEDIUM به درخواست داده می‌شود.

پارامترها
int priority

اولویت درخواست که باید یکی از مقادیر REQUEST_PRIORITY_* باشد.

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

دیکشنری فشرده‌سازی setRaw

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

به Cronet اجازه می‌دهد تا از دیکشنری فشرده‌سازی مشخص‌شده برای این درخواست استفاده کند. در صورت مشخص شدن، Cronet ممکن است به سرور، وجود دیکشنری فشرده‌سازی مذکور را اطلاع دهد. برای اینکه این امر مؤثر باشد، CronetEngine که این درخواست را اجرا می‌کند، باید طوری پیکربندی شده باشد که یک طرح فشرده‌سازی را که از دیکشنری‌های خارجی پشتیبانی می‌کند، فعال کند. این امر تا حدی draft-ietf-httpbis-compression-dictionary را در Cronet پیاده‌سازی می‌کند. Cronet مستقیماً هدرهای پاسخ "Use-As-Dictionary" را مدیریت نمی‌کند، در عوض به embedder متکی خواهد بود تا: یا آنها را مدیریت کند و بعداً UrlRequest.Builder#setCompressionDictionary را برای درخواست‌هایی که با قوانین Use-As-Dictionary مطابقت دارند، فراخوانی کند؛ یا دیکشنری‌های فشرده‌سازی را از طریق مکانیسم خارج از باند دیگری دریافت کند و بعداً UrlRequest.Builder#setCompressionDictionary را فراخوانی کند. Cronet دیکشنری را طوری تفسیر می‌کند که فقط با این UrlRequest مطابقت داشته باشد. اگر درخواست مذکور هدایت شود و embedder تصمیم به دنبال کردن این هدایت بگیرد، دیکشنری با URL جدید نیز مطابقت خواهد داشت.

پارامترها
byte[] dictionarySha256Hash

SHA-256 از دیکشنری فشرده‌سازی مشخص شده.

ByteBuffer dictionary

دیکشنری فشرده‌سازی که Cronet می‌تواند برای این درخواست آدرس (UrlRequest) استفاده کند. این باید یک ByteBuffer مستقیم باشد.

String dictionaryId

شناسه اختیاری مرتبط با این دیکشنری، در صورت عدم وجود، باید یک رشته خالی باشد. در صورت وجود، این شناسه از طریق هدر Dictionary-ID ارسال می‌شود. اگر سرور در پاسخ "Use-As-Dictionary" خود یک شناسه مشخص کرده باشد، باید این را مشخص کنید.

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

setRequestFinishedListener

public UrlRequest.Builder setRequestFinishedListener(RequestFinishedInfo.Listener listener)

یک شنونده (listener) تنظیم می‌کند که پس از بازگشت onCanceled() ، onFailed() یا onSucceeded() فراخوانی می‌شود.

شنونده با اطلاعات تکمیل‌شده‌ی درخواست روی یک java.util.concurrent.Executor ارائه شده توسط getExecutor() فراخوانی می‌شود.

پارامترها
RequestFinishedInfo.Listener listener

شنونده برای درخواست‌های تکمیل‌شده.

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

تنظیم آمار ترافیک

public UrlRequest.Builder setTrafficStatsTag(int tag)

تگ android.net.TrafficStats را برای استفاده هنگام محاسبه ترافیک سوکت ناشی از این درخواست تنظیم می‌کند. برای اطلاعات بیشتر به android.net.TrafficStats مراجعه کنید. اگر هیچ تگی تنظیم نشده باشد (مثلاً این متد فراخوانی نشده باشد)، اندروید ترافیک سوکت ناشی از این درخواست را طوری محاسبه می‌کند که انگار مقدار تگ روی ۰ تنظیم شده است.

نکته: تنظیم یک تگ، اشتراک‌گذاری سوکت‌ها با درخواست‌ها با تگ‌های دیگر را ممنوع می‌کند، که ممکن است با جلوگیری از اشتراک‌گذاری اتصال، بر عملکرد تأثیر منفی بگذارد. به عبارت دیگر، استفاده از سوکت‌های مالتی‌پلکس (مثلاً HTTP/2 و QUIC) فقط در صورتی مجاز خواهد بود که همه درخواست‌ها دارای تگ سوکت یکسان باشند.

پارامترها
int tag

مقدار برچسبی که هنگام محاسبه ترافیک سوکت ناشی از این درخواست استفاده می‌شود. برچسب‌های بین 0xFFFFFF00 و 0xFFFFFFFF رزرو شده و به صورت داخلی توسط سرویس‌های سیستمی مانند android.app.DownloadManager هنگام انجام ترافیک از طرف یک برنامه استفاده می‌شوند.

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

شناسه‌ی آمار ترافیک (setTrafficStatsUid)

public UrlRequest.Builder setTrafficStatsUid(int uid)

شناسه کاربری (UID) خاصی را برای استفاده هنگام محاسبه ترافیک سوکت ناشی از این درخواست تنظیم می‌کند. برای اطلاعات بیشتر به android.net.TrafficStats مراجعه کنید. برای استفاده هنگام انجام عملیاتی از طرف برنامه دیگر طراحی شده است. تماس گیرنده باید مجوز MODIFY_NETWORK_ACCOUNTING را داشته باشد. به طور پیش فرض، ترافیک به شناسه کاربری (UID) تماس گیرنده نسبت داده می‌شود.

نکته: تنظیم یک UID، اشتراک‌گذاری سوکت‌ها با درخواست‌ها با UIDهای دیگر را ممنوع می‌کند، که ممکن است با جلوگیری از اشتراک‌گذاری اتصال، بر عملکرد تأثیر منفی بگذارد. به عبارت دیگر، استفاده از سوکت‌های مالتی‌پلکس (مثلاً HTTP/2 و QUIC) فقط در صورتی مجاز خواهد بود که همه درخواست‌ها دارای مجموعه UID یکسانی باشند.

پارامترها
int uid

شناسه کاربری (UID) برای نسبت دادن ترافیک سوکت ناشی از این درخواست.

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.

ارائه دهنده داده setUpload

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

ارائه دهنده داده آپلود را تنظیم می‌کند. اگر به صراحت تنظیم نشده باشد، متد را به "POST" تغییر می‌دهد. اگر هدر Content-Type تنظیم نشده باشد، شروع درخواست یک استثنا ایجاد می‌کند.

پارامترها
UploadDataProvider uploadDataProvider

مسئول ارائه داده‌های آپلود.

Executor executor

تمام متدهای uploadDataProvider با استفاده از این Executor فراخوانی می‌شوند. به صورت اختیاری، می‌تواند همان Executor باشد که خود درخواست از آن استفاده می‌کند.

بازگشت‌ها
UrlRequest.Builder

سازنده برای تسهیل زنجیره‌سازی.