UrlRequest.Builder

abstract class UrlRequest.Builder


‫Builder של UrlRequest. מאפשר להגדיר בקשות לפני שיוצרים אותן באמצעות build. אפשר ליצור את האובייקט builder באמצעות קריאה ל-newUrlRequestBuilder.

סיכום

ערכים קבועים

const Int

העדיפות הגבוהה ביותר לבקשה.

const Int

העדיפות הכי נמוכה לבקשה.

const Int

עדיפות נמוכה לבקשה.

const Int

עדיפות נמוכה מאוד של הבקשה.

const Int

עדיפות בינונית לבקשה.

‫constructors ציבוריים

פונקציות ציבוריות

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

מוסיף כותרת בקשה.

UrlRequest.Builder!
addRequestAnnotation(annotation: Any!)

משייך את אובייקט ההערה לבקשה הזו.

abstract UrlRequest.Builder!

הסימון הזה מציין שהמבצעים שהבקשה הזו תשתמש בהם כדי להודיע על קריאות חוזרות (ל- UploadDataProvider ול-UrlRequest.Callback) מבצעים בכוונה ביצוע בשורה, כמו directExecutor של Guava או java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy.

UrlRequest.Builder!
bindToNetwork(networkHandle: Long)

הפונקציה מקשרת את הבקשה לטיפול ברשת שצוין.

abstract UrlRequest!

יוצרת UrlRequest באמצעות הגדרה בתוך Builder.

abstract UrlRequest.Builder!

השבתת המטמון לבקשה.

abstract UrlRequest.Builder!

מגדיר את פועל ה-HTTP method שבו יש להשתמש בבקשה הזו.

abstract UrlRequest.Builder!
setPriority(priority: Int)

הגדרת העדיפות של הבקשה, שצריכה להיות אחת מהערכים של REQUEST_PRIORITY_*.

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

מאפשר ל-Cronet להשתמש במילון הדחיסה שצוין לבקשה הזו.

UrlRequest.Builder!

מגדירה פונקציית listener שמופעלת אחרי שמוחזרת תוצאה מהפונקציות onCanceled(), onFailed() או onSucceeded().

UrlRequest.Builder!

מגדיר תג android.net.TrafficStats לשימוש כשמדווחים על תנועת שקעים שנגרמת כתוצאה מהבקשה הזו.

UrlRequest.Builder!

מגדיר מזהה משתמש ספציפי לשימוש כשמדובר בתנועת גולשים בשקע שנגרמת כתוצאה מהבקשה הזו.

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

מגדירה את ספק נתוני ההעלאה.

ערכים קבועים

REQUEST_PRIORITY_HIGHEST

const val REQUEST_PRIORITY_HIGHEST = 4: Int

העדיפות הגבוהה ביותר לבקשה. הועבר אל setPriority.

REQUEST_PRIORITY_IDLE

const val REQUEST_PRIORITY_IDLE = 0: Int

העדיפות הכי נמוכה לבקשה. הועבר אל setPriority.

REQUEST_PRIORITY_LOW

const val REQUEST_PRIORITY_LOW = 2: Int

עדיפות נמוכה לבקשה. הועבר אל setPriority.

REQUEST_PRIORITY_LOWEST

const val REQUEST_PRIORITY_LOWEST = 1: Int

עדיפות נמוכה מאוד של הבקשה. הועבר אל setPriority.

REQUEST_PRIORITY_MEDIUM

const val REQUEST_PRIORITY_MEDIUM = 3: Int

עדיפות בינונית לבקשה. הועבר אל setPriority. זו העדיפות שמוגדרת כברירת מחדל לבקשה.

‫constructors ציבוריים

בנאי

Builder()

פונקציות ציבוריות

addHeader

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

מוסיף כותרת בקשה.

פרמטרים
header: String!

שם הכותרת.

value: String!

ערך הכותרת.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

addRequestAnnotation

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

משייך את אובייקט ההערה לבקשה הזו. אפשר להוסיף יותר מאישור אחד. הועבר אל RequestFinishedInfo.Listener, ראו getAnnotations.

פרמטרים
annotation: Any!

אובייקט להעברה אל RequestFinishedInfo.Listener עם RequestFinishedInfo.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

allowDirectExecutor

abstract fun allowDirectExecutor(): UrlRequest.Builder!

הסימון הזה מציין שהמבצעים שהבקשה הזו תשתמש בהם כדי להודיע על קריאות חוזרות (ל- UploadDataProvider ול-UrlRequest.Callback) מבצעים בכוונה ביצוע בשורה, כמו directExecutor של Guava או java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy.

אזהרה: האפשרות הזו מקלה על חסימת השרשור של הרשת בטעות. לא מומלץ להשתמש בו אם פונקציות ה-callback מבצעות קלט/פלט בדיסק, מקבלות נעילות או קוראות לקוד אחר שאתם לא שולטים בו בקפידה ולא מבצעים בו ביקורת.

bindToNetwork

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

הפונקציה מקשרת את הבקשה לטיפול ברשת שצוין. ‫Cronet ישלח את הבקשה הזו רק באמצעות הרשת שמשויכת ל-handle הזה. אם הרשת הזו מתנתקת, הבקשה תיכשל. השגיאה המדויקת תהיה תלויה בשלב העיבוד של הבקשה בזמן שהרשת מתנתקת. אפשר לקבל כינויים לרשת דרך Network#getNetworkHandle. התכונה זמינה רק החל מ-Android Marshmallow.

פרמטרים
networkHandle: Long

ה-handle של הרשת שאליה רוצים לקשר את הבקשה. מציינים את UNBIND_NETWORK_HANDLE כדי לבטל את הקישור.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

לבנות גרסת build

abstract fun build(): UrlRequest!

יוצרת UrlRequest באמצעות הגדרה בתוך Builder. אחרי כן אפשר להפעיל את UrlRequest שהוחזר על ידי קריאה ל-start.

החזרות
UrlRequest!

התג UrlRequest נוצר באמצעות ההגדרה האישית בתוך Builder.

disableCache

abstract fun disableCache(): UrlRequest.Builder!

השבתת המטמון לבקשה. אם ההקשר לא מוגדר לשימוש במטמון, לקריאה הזו אין השפעה.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

setHttpMethod

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

מגדיר את פועל ה-HTTP method שבו יש להשתמש בבקשה הזו.

אם לא קוראים לשיטה הזו, ברירת המחדל היא GET אם לבקשה אין גוף, או POST אם יש לה גוף.

פרמטרים
method: String!

‫"GET",‏ "HEAD",‏ "DELETE",‏ "POST" או "PUT".

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

setPriority

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

הגדרת העדיפות של הבקשה, שצריכה להיות אחת מהערכים של REQUEST_PRIORITY_*. אם לא מפעילים את ה-method הזו, הבקשה מקבלת עדיפות של REQUEST_PRIORITY_MEDIUM.

פרמטרים
priority: Int

העדיפות של הבקשה, שצריכה להיות אחת מהערכים REQUEST_PRIORITY_*.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

setRawCompressionDictionary

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

מאפשר ל-Cronet להשתמש במילון הדחיסה שצוין לבקשה הזו. אם מציינים את האפשרות הזו, יכול להיות ש-Cronet יאותת לשרת על הזמינות של מילון הדחיסה הזה. כדי שההגדרה הזו תשפיע, צריך להגדיר את CronetEngine שיבצע את הבקשה כך שיפעיל תוכנית דחיסה שתומכת במילונים חיצוניים. ההטמעה הזו היא חלקית של draft-ietf-httpbis-compression-dictionary ב-Cronet. ‫Cronet לא יטפל ישירות בכותרות תגובה מסוג Use-As-Dictionary, אלא יסתמך על המטמיע כדי: לטפל בהן ואז לקרוא ל-UrlRequest.Builder#setCompressionDictionary עבור בקשות שתואמות לכללים של Use-As-Dictionary; או לאחזר מילוני דחיסה באמצעות מנגנון אחר מחוץ לפס, ואז לקרוא ל-UrlRequest.Builder#setCompressionDictionary. ‫Cronet יפרש את המילון כך שיתאים רק ל-UrlRequest הזה. אם הבקשה מופנית להפניה אוטומטית, והטמען מחליט לעקוב אחרי ההפניה האוטומטית, המילון יתאים גם לכתובת ה-URL החדשה.

פרמטרים
dictionarySha256Hash: ByteArray!

גיבוב SHA-256 של מילון הדחיסה שצוין.

dictionary: ByteBuffer!

מילון הדחיסה ש-Cronet יכול להשתמש בו עבור UrlRequest הזה. הוא חייב להיות ByteBuffer ישיר.

dictionaryId: String!

המזהה האופציונלי שמשויך למילון הזה. אם הוא חסר, צריך להזין מחרוזת ריקה. אם הוא קיים, הוא יישלח באמצעות הכותרת Dictionary-ID. צריך לציין את המזהה הזה אם השרת ציין אותו בתגובה 'Use-As-Dictionary'.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

setRequestFinishedListener

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

מגדירה פונקציית listener שמופעלת אחרי שמוחזרת תוצאה מהפונקציות onCanceled(), onFailed() או onSucceeded().

המאזין מופעל עם פרטי סיום הבקשה ב-java.util.concurrent.Executor שסופק על ידי getExecutor().

פרמטרים
listener: RequestFinishedInfo.Listener!

המאזין לבקשות שהושלמו.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

setTrafficStatsTag

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

מגדיר תג android.net.TrafficStats לשימוש כשמדווחים על תנועת שקעים שנגרמת כתוצאה מהבקשה הזו. מידע נוסף זמין בandroid.net.TrafficStats. אם לא מוגדר תג (למשל, אם לא מתבצעת קריאה לשיטה הזו), מערכת Android מתייחסת לתנועת הנתונים בשקע שנגרמת מהבקשה הזו כאילו ערך התג הוגדר כ-0.

הערה: הגדרת תג אוסרת על שיתוף של שקעים עם בקשות עם תגים אחרים, וזה עלול לפגוע בביצועים כי זה מונע שיתוף חיבורים. במילים אחרות, השימוש בשקעים מרובי-ערוצים (למשל HTTP/2 ו-QUIC) יתאפשר רק אם לכל הבקשות יש אותו תג שקע.

פרמטרים
tag: Int

ערך התג שמשמש לחישוב תנועת הסוקטים שנגרמת כתוצאה מהבקשה הזו. תגים בין 0xFFFFFF00 ל-0xFFFFFFFF שמורים ומשמשים באופן פנימי את שירותי המערכת כמו android.app.DownloadManager כשמבצעים תעבורה בשם אפליקציה.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

setTrafficStatsUid

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

מגדיר מזהה משתמש ספציפי לשימוש כשמדובר בתנועת גולשים בשקע שנגרמת כתוצאה מהבקשה הזו. מידע נוסף זמין בכתובת android.net.TrafficStats. מיועד לשימוש כשמבצעים פעולה בשם אפליקציה אחרת. למתקשר צריכה להיות הרשאת MODIFY_NETWORK_ACCOUNTING. כברירת מחדל, התנועה משויכת ל-UID של המתקשר.

הערה: הגדרת UID אוסרת על שיתוף של שקעים עם בקשות עם UID אחרים, מה שעשוי להשפיע לרעה על הביצועים כי הוא אוסר על שיתוף חיבורים. במילים אחרות, השימוש בשקעים מרובי-ערוצים (למשל HTTP/2 ו-QUIC) יתאפשר רק אם לכל הבקשות מוגדר אותו מזהה ייחודי.

פרמטרים
uid: Int

מזהה המשתמש (UID) לצירוף תנועת שקעים שנגרמת כתוצאה מהבקשה הזו.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.

setUploadDataProvider

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

מגדירה את ספק נתוני ההעלאה. אם לא מגדירים את השיטה במפורש, השיטה משתנה ל-POST. הפעלת הבקשה תגרום לשגיאה אם לא מוגדרת כותרת Content-Type.

פרמטרים
uploadDataProvider: UploadDataProvider!

אחראי לספק את נתוני ההעלאה.

executor: Executor!

כל השיטות של uploadDataProvider יופעלו באמצעות Executor הזה. יכול להיות זהה ל-Executor שבו נעשה שימוש בבקשה עצמה.

החזרות
UrlRequest.Builder!

הכלי ליצירת שרשורים כדי להקל על יצירת שרשורים.