UrlRequest.Builder

public abstract class UrlRequest.Builder


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

סיכום

ערכים קבועים

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

‫constructors ציבוריים

‫methods ציבוריים

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

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

UrlRequest.Builder

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

abstract UrlRequest.Builder

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

UrlRequest.Builder
bindToNetwork(long networkHandle)

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

abstract UrlRequest

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

abstract UrlRequest.Builder

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

abstract UrlRequest.Builder

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

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

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

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

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

ערכים קבועים

REQUEST_PRIORITY_HIGHEST

public static final int REQUEST_PRIORITY_HIGHEST = 4

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

REQUEST_PRIORITY_IDLE

public static final int REQUEST_PRIORITY_IDLE = 0

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

REQUEST_PRIORITY_LOW

public static final int REQUEST_PRIORITY_LOW = 2

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

REQUEST_PRIORITY_LOWEST

public static final int REQUEST_PRIORITY_LOWEST = 1

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

REQUEST_PRIORITY_MEDIUM

public static final int REQUEST_PRIORITY_MEDIUM = 3

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

‫constructors ציבוריים

בנאי

public Builder()

‫methods ציבוריים

addHeader

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

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

פרמטרים
String header

שם הכותרת.

String value

ערך הכותרת.

החזרות
UrlRequest.Builder

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

addRequestAnnotation

public UrlRequest.Builder addRequestAnnotation(Object annotation)

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

פרמטרים
Object annotation

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

החזרות
UrlRequest.Builder

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

allowDirectExecutor

public abstract UrlRequest.Builder allowDirectExecutor()

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

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

bindToNetwork

public UrlRequest.Builder bindToNetwork(long networkHandle)

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

פרמטרים
long networkHandle

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

החזרות
UrlRequest.Builder

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

לבנות גרסת build

public abstract UrlRequest build()

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

החזרות
UrlRequest

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

disableCache

public abstract UrlRequest.Builder disableCache()

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

החזרות
UrlRequest.Builder

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

setHttpMethod

public abstract UrlRequest.Builder setHttpMethod(String method)

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

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

פרמטרים
String method

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

החזרות
UrlRequest.Builder

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

setPriority

public abstract UrlRequest.Builder setPriority(int priority)

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

פרמטרים
int priority

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

החזרות
UrlRequest.Builder

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

setRawCompressionDictionary

@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, אלא יסתמך על המטמיע כדי: לטפל בהן ואז לקרוא ל-UrlRequest.Builder#setCompressionDictionary עבור בקשות שתואמות לכללים של Use-As-Dictionary; או לאחזר מילוני דחיסה באמצעות מנגנון אחר מחוץ לפס, ואז לקרוא ל-UrlRequest.Builder#setCompressionDictionary. ‫Cronet יפרש את המילון כך שיתאים רק ל-UrlRequest הזה. אם הבקשה מופנית להפניה אוטומטית, והטמען מחליט לעקוב אחרי ההפניה האוטומטית, המילון יתאים גם לכתובת ה-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

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

setTrafficStatsTag

public UrlRequest.Builder setTrafficStatsTag(int tag)

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

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

פרמטרים
int tag

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

החזרות
UrlRequest.Builder

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

setTrafficStatsUid

public UrlRequest.Builder setTrafficStatsUid(int uid)

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

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

פרמטרים
int uid

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

החזרות
UrlRequest.Builder

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

setUploadDataProvider

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

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

פרמטרים
UploadDataProvider uploadDataProvider

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

Executor executor

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

החזרות
UrlRequest.Builder

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