פעילות
העדכון האחרון | גרסה יציבה | מועמד לפרסום | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
24 ביולי 2024 | 1.9.1 | - | - | 1.10.0-alpha01 |
הצהרה על יחסי תלות
כדי להוסיף תלות בפעילות, עליך להוסיף את מאגר Google Maven פרויקט. למאגר Maven של Google אפשר לקבל מידע נוסף.
מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle
בשביל
האפליקציה או המודול שלך:
מגניב
dependencies { def activity_version = "1.9.1" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.1" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
למידע נוסף על יחסי תלות, אפשר לעיין במאמר הוספת יחסי תלות של build.
משוב
המשוב שלך עוזר לנו לשפר את Jetpack. נשמח לשמוע אם גילית בעיות חדשות או אם יש לך רעיונות לשיפור הספרייה הזו. מומלץ לעיין בעיות קיימות בספרייה הזו לפני שיוצרים ספר חדש. אפשר להוסיף את ההצבעה שלך לבעיה קיימת על ידי לחיצה על לחצן הכוכב.
מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.
גרסה 1.10
גרסה 1.10.0-alpha01
26 ביוני 2024
androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
ו-androidx.activity:activity-ktx:1.10.0-alpha01
שוחררו. הגרסה הזו פותחה בהסתעפות פנימית.
תכונות חדשות
- נוספה תמיכה בתכונות חדשות של
PhotoPicker
שהושקו ב-Android V, כולל היכולת לבחור תמונות לפי סדר ולבחור איזו כרטיסייה (אלבומים או תמונות) תוצג בהתחלה.
גרסה 1.9
גרסה 1.9.1
24 ביולי 2024
androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
ו-androidx.activity:activity-ktx:1.9.1
שוחררו. גרסה 1.9.1 כוללת את ההתחייבויות האלה.
תיקוני באגים
- תוקנה בעיה ב-
PredictiveBackHandler
שבה אחרי הפעלה מחדש של המערכת, ניסיון לבצעonBackPressed
מה-OnBackPressedDispatcher
ייכשל. (I5f1f8)
גרסה 1.9.0
17 באפריל 2024
androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
ו-androidx.activity:activity-ktx:1.9.0
שוחררו. גרסה 1.9.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.8.0
ComponentActivity
מטמיעים עכשיו אתOnUserLeaveHintProvider
כדי לאפשר לרכיבים לבצע קריאה חוזרת (callback) עבור אירועיonUserLeaveHint
.- ממשקי ה-API
OnBackPressedCallback
,BackHandler
ו-PredictiveBackHandler
מציגים עכשיו אזהרה כשמבצעים קריאה ל-onBackPressedDispatcher.onBackPressed()
כשמתקבלת התראה, כי הפעולה הזו תמיד תעצור את האנימציה החזויה. פרטים נוספים זמינים במדריך השיטות המומלצות. - שאר ממשקי ה-API של הפעילות נכתבו מחדש ב-Kotlin וכל התוספים שהיו זמינים בעבר ב-
activity-ktx
הועברו אלactivity
. השדהactivity-ktx
ריק לגמרי.- כחלק מההמרה של
ActivityResultLauncher
ל-Kotlin, שיטתgetContract
היא עכשיו נכס מופשט ב-Kotlin. זהו שינוי שתואם להתאמה בינארית, אבל יגרום לשיבושים במקור אם ההטמעה שלActivityResultLauncher
נכתבת ב-Kotlin.
- כחלק מההמרה של
גרסה 1.9.0-rc01
3 באפריל 2024
androidx.activity:activity:1.9.0-rc01
, androidx.activity:activity-compose:1.9.0-rc01
ו-androidx.activity:activity-ktx:1.9.0-rc01
שוחררו. גרסה 1.9.0-rc01 מכילה את ההתחייבויות האלה.
עדכון בנושא תלות
- הפעילות תלויה כעת במנהל ההתקנה של הפרופיל 1.3.1.
גרסה 1.9.0-beta01
20 במרץ 2024
androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
ו-androidx.activity:activity-ktx:1.9.0-beta01
שוחררו. גרסה 1.9.0-beta01 כוללת את ההתחייבויות האלה.
תיקוני באגים
- תוקנה רגרסיה של ביצועי ההפעלה של הפעילות בקטע פעילות
1.9.0-alpha02
שנגרמה כתוצאה מהפעלה שלOnBackPressedDispatcher
כחלק מיצירת הפעילות. (Ie75e3)
גרסה 1.9.0-alpha03
7 בפברואר 2024
androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
ו-androidx.activity:activity-ktx:1.9.0-alpha03
שוחררו. גרסה 1.9.0-alpha03 מכילה את התחייבויות אלה.
אזהרה על איתור שגיאות בקוד
- ממשקי ה-API
OnBackPressedCallback
,BackHandler
ו-PredictiveBackHandler
מציגים עכשיו אזהרה כשמבצעים קריאה ל-onBackPressedDispatcher.onBackPressed()
כשמתקבלת התראה, כי הפעולה הזו תמיד תעצור את האנימציה החזויה. פרטים נוספים זמינים במדריך השיטות המומלצות. (1e4222, 2c950d, b/287505200)
תיקוני באגים
- אם אירוע החזרה נשלח מהמערכת שהתחיל במהלך תנועת חזרה חזויה שכבר פועלת, תנועת החזרה החזויה שרצה כרגע תבוטל ואירוע החזרה החדש יתחיל לפעול כדי להתחיל תנועת חזרה חזויה חדשה. (I3482e)
- תוקנה קריסה במהלך גישה בפעם הראשונה ל-
onBackPressedDispatcher
מ-ComponentActivity
משרשור ברקע. עכשיו אפשר להיכנס בבטחה אלonBackPressedDispatcher
בכל שרשור. (I79955)
גרסה 1.9.0-alpha02
24 בינואר 2024
androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
ו-androidx.activity:activity-ktx:1.9.0-alpha02
שוחררו. גרסה 1.9.0-alpha02 מכילה את התחייבויות אלה.
המרות של קוטלין
ActivityResultRegistry
נכתב/ה ב-Kotlin. הדבר מבטיח שיכולת הביטול של הכללים הגנריים בחוזה שהועבר אלregister
תועבר כראוי אלActivityResultLauncher
שמוחזר. (I121f0)ActivityResult
נכתב/ה ב-Kotlin. תוספי Kotlin מסוגActivityResult
שתומכים בבנייה בתוך השדותresultCode
ו-data
הועברו מ-activity-ktx
ל-activity
. (I0565a)- תוספי Kotlin של
by viewModels()
עבורComponentActivity
ו-trackPipAnimationHintView
הועברו מ-activity-ktx
ל-activity
. פריט המידע שנוצר בתהליך הפיתוח (Artifact) מסוגactivity-ktx
ריק עכשיו לחלוטין. (I0a444)
תיקוני באגים
- מעכשיו, ה-API של
enableEdgeToEdge
מוקף בכל המגרעים במסך. (a3644b, b/311173461) - מפעילות
1.8.2
: תוקנה הבעיה שהועברה לחוזה הפעילות של בוחר התמונות בACTION_SYSTEM_FALLBACK_PICK_IMAGES
, כך שעכשיו ניתן להעביר לו את המפתחEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
בצורה נכונה, במקום להשתמש בתוספות עם המפתח"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. אם אתם יצרני ציוד מקורי (OEM) שמטמיעים כלי לבחירת תמונות לגיבוי, מומלץ מאוד לתמוך בשתי התוספות כדי להבטיח תאימות רחבה. (I96a00)
גרסה 1.9.0-alpha01
29 בנובמבר 2023
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
ו-androidx.activity:activity-ktx:1.9.0-alpha01
שוחררו. גרסה 1.9.0-alpha01 מכילה את התחייבויות אלה.
תכונות חדשות
ComponentActivity
מטמיעים עכשיו אתOnUserLeaveHintProvider
כדי לאפשר לרכיבים לבצע קריאה חוזרת (callback) עבור אירועיonUserLeaveHint
. (I54892)
שינויים ב-API
ComponentActivity
נכתב/ה ב-Kotlin. (I14f31)ActivityResultCaller
נכתב/ה ב-Kotlin. (Ib02e4)ActivityResultLauncher
נכתב/ה ב-Kotlin. כחלק מההמרה הזו, השיטהgetContract
היא עכשיו נכס מופשט של Kotlin. זהו שינוי שתואם להתאמה בינארית, אבל יגרום לשיבושים במקור אם ההטמעה שלActivityResultLauncher
נכתבת ב-Kotlin. (Id4615)- רמת ה-API המינימלית של
PickVisualMediaRequest
זהה עכשיו לחוזה של תוצאת הפעילות שלPickVisualMedia
. (Id6e21)
עדכון לגבי תלות
- הפעילות תלויה עכשיו בליבה
1.13.0-alpha01
. (I14f31)
גרסה 1.8
גרסה 1.8.2
13 בדצמבר 2023
androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
ו-androidx.activity:activity-ktx:1.8.2
שוחררו. גרסה 1.8.2 כוללת את ההתחייבויות האלה.
תיקוני באגים
- תיקנו את התוספת שהועברה ל
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
של חוזה הפעילות של הכלי לבחירת תמונות כדי להעביר לה את המפתחEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
בצורה תקינה, במקום להשתמש בתוספות עם המפתח"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
. אם אתם יצרני ציוד מקורי (OEM) שמטמיעים כלי לבחירת תמונות לגיבוי, מומלץ מאוד לתמוך בשתי התוספות כדי להבטיח תאימות רחבה. (I96a00)
גרסה 1.8.1
15 בנובמבר 2023
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
ו-androidx.activity:activity-ktx:1.8.1
שוחררו. גרסה 1.8.1 כוללת את ההתחייבויות האלה.
תיקוני באגים
- עכשיו
OnBackPressedDispatcher
ממשיך לשלוח אלOnBackPressedCallback
הנכון גם אחרי הוספה שלOnBackPressedCallback
חדש בזמן הטיפול בתנועת החזרה. (Id0ff6)
גרסה 1.8.0
4 באוקטובר 2023
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
ו-androidx.activity:activity-ktx:1.8.0
שוחררו. גרסה 1.8.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.7.0
- חזרה חזויה – האפליקציה
OnBackPressedCallback
כוללת עכשיו קריאות חוזרות חזויות חוזרות לטיפול בתנועת החזרה, ההתקדמות במהלך התנועה וביטול תנועת החזרה, בנוסף לקריאה הקודמת ב-handleOnBackPressed()
לסימון תנועת החזרה החזויה. הגרסה הזו כוללת גם את הקומפוזביליPredictiveBackHandler
לטיפול באירועי חיזוי של תנועת החזרה בכתיבה של הפעילות. הוא מספק זרימה של אובייקטים מסוג BackEventCompat שצריך לאסוף במסגרת ה-lamba של ההשעיה שאתם מספקים:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
עכשיו הפרמטר ComponentActivity.onBackPressed()
הוצא משימוש והוחלף בממשקי ה-API כדי להחזיר את המצב לקדמותו. מפתחים צריכים עכשיו להשתמש ב-OnBackPressedDispatcher
במקום לשנות את השיטה הזו.
- EdgeToEdge – הוספנו את
ComponentActivity.enableEdgeToEdge()
כדי להגדיר בקלות את התצוגה מקצה לקצה באופן תואם לאחור.
גרסה 1.8.0-rc01
20 בספטמבר 2023
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
ו-androidx.activity:activity-ktx:1.8.0-rc01
שוחררו. גרסה 1.8.0-rc01 מכילה את ההתחייבויות האלה.
גרסה 1.8.0-beta01
6 בספטמבר 2023
androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
ו-androidx.activity:activity-ktx:1.8.0-beta01
שוחררו. גרסה 1.8.0-beta01 מכילה את התחייבויות אלה.
שיפור במסמכים
- שיפרתי את התיעוד של
BackEventCompat
. (aosp/2722254)
גרסה 1.8.0-alpha07
23 באוגוסט 2023
androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
ו-androidx.activity:activity-ktx:1.8.0-alpha07
שוחררו. גרסה 1.8.0-alpha07 מכילה את התחייבויות אלה.
תכונות חדשות
ההצעות לכתיבה נוספו פריט קומפוזבילי חדש מסוג
PredictiveBackHandler
כדי לטפל באירועי חיזוי של תנועות חזרה. הוא מספקFlow
שלBackEventCompat
אובייקטים שצריך לאסוף בליבה (lamba) המושעית שאתם מספקים:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }
הוא כולל גם אזהרה לגבי זמן הידור באמצעות כלל איתור שגיאות בקוד, כדי לוודא שה-
Flow
קורא לפונקציהcollect()
. (Id2773, b/294884345)עכשיו השדה
onBackPressedDispatcher
ב-ComponentActivity
מאותחל באופן מדורג כך שהוא נוצר רק כשצריך. (I0bf8e)
תיקוני באגים
- מספר NPE ב-Android 13 לא יוצג יותר על ידי
ComponentActivity
כשהוא יקבל קריאה חוזרת שלonBackPressed()
והפעילות כבר הייתהDESTROYED
. (Idb055, b/291869278) - הוסרו שימושים ב-API הניסיוני של
isAtLeastU()
(Ie9117, b/289269026)
גרסה 1.8.0-alpha06
21 ביוני 2023
androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
ו-androidx.activity:activity-ktx:1.8.0-alpha06
שוחררו. גרסה 1.8.0-alpha06 מכילה את התחייבויות אלה.
תכונות חדשות
- עכשיו, ב-
OnBackPressedDispatcher
מתבצע ביטול תקין של כל קריאה חוזרת (callback) שיוסרו במהלך תנועת חיזוי חזרה. (I3f90f)
שינויים ב-API
- כשמעבירים את
SystemBarStyle.auto
ל-API שלenableEdgeToEdge
, עכשיו אפשר לבטל את הפרמטר lambdadetectDarkMode
כדי לספק לוגיקה מותאמת אישית לזיהוי מצב לילה. (aosp/2546393, b/278263793)
גרסה 1.8.0-alpha05
7 ביוני 2023
androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
ו-androidx.activity:activity-ktx:1.8.0-alpha05
שוחררו. הגרסה הזו פותחה בהסתעפות פנימית.
שינויים ב-API
- בפעילות יש עכשיו מחלקה
BackEventCompat
שמשמשת כגרסה שלBackEvent
בתאימות לאחור, שמופרדת מהכיתהBackEvent
של המסגרת. - שינוי תוכנה זדונית: השיטות
handleOnBackStarted
ו-handleOnBackProgressed
שלOnBackPressedCallback
מקבלות עכשיו מופעandroidx.activity.BackEventCompat
במקום מחלקהandroid.window.BackEvent
של framework. עודכנו גם ממשקי ה-API המקבילים מסוג@VisibleForTesting
ב-OnBackPressedDispatcher
. - ה-constructor של
OnBackPressedDispatcher
משתמש עכשיו במכונה אופציונלית שלConsumer<Boolean>
שמאפשרת לבעלים של השולח לקבל קריאה חוזרת בכל פעם שמספר הקריאות החוזרות הפעילות משתנה מאפס לאפס או להיפך.
תיקוני באגים
- מפעילות
1.7.2
: תיקון קריסות שלReportDrawn
כשיוצאים מהמסך לפני הקריאה ל-report
. (Ic46f1, b/260506820)
גרסה 1.8.0-alpha04
10 במאי 2023
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
ו-androidx.activity:activity-ktx:1.8.0-alpha04
שוחררו. הוא שוחרר מהסתעפות פנימית.
תיקוני באגים
- מפעילות 1.7.1: – אין יותר דליפה מ-
ReportFullyDrawExecuter
כשמשתמשים ב-ComponentActivity
עםActivityScenario
. (Id2ff2, b/277434271)
גרסה 1.8.0-alpha03
12 באפריל 2023
androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
ו-androidx.activity:activity-ktx:1.8.0-alpha03
שוחררו. הוא שוחרר מהסתעפות פנימית.
תכונות חדשות
- הוספנו את
ComponentActivity.setUpEdgeToEdge()
כדי להגדיר בקלות את התצוגה מקצה לקצה באופן שתואם לאחור.
שינויים ב-API
- עכשיו הפרמטר
ComponentActivity.onBackPressed()
הוצא משימוש והוחלף בממשקי ה-API כדי להחזיר את המצב לקדמותו. מפתחים צריכים עכשיו להשתמש ב-OnBackPressedDispatcher
במקום לשנות את השיטה הזו. (Ibce2f, b/271596918) ComponentDialog
ו-ComponentActivity
מכילים עכשיו API ציבוריinitViewTreeOwners()
שמאפשר לאתחל את כל בעלי העץ של התצוגות לפני ההגדרה של תצוגת התוכן. (Ibdce0, b/261314581)
תיקוני באגים
- תוקנה בעיה שבה Fragments ביטל באופן שגוי את תוקף ListHosts וגורם להתנהגות לא צפויה בתפריטים אחרים בפעילות. (I9404e, b/244336571)
שינויים אחרים
- ב
ActivityResultRegister
נעשה עכשיו שימוש ב-KotlinRandom
במקום ב-Java. (I4d98f, b/272096025)
גרסה 1.8.0-alpha02
8 במרץ 2023
androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
ו-androidx.activity:activity-ktx:1.8.0-alpha02
שוחררו. פיתוח הסתעפות פנימית.
עדכון בנושא תלות
- מפעילות
1.7.0-rc01
: הפעילות תלויה עכשיו ב-Lifecycle 2.6.0
.
גרסה 1.8.0-alpha01
8 בפברואר 2023
androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
ו-androidx.activity:activity-ktx:1.8.0-alpha01
שוחררו. הוא נוצר על ידי הסתעפות פנימית.
תכונות חדשות
- הכיתה
OnBackPressedCallback
כוללת עכשיו קריאות חוזרות (callback) חדשות של התקדמות חזויה לחזרה אחורה, לטיפול בתנועת החזרה, ההתקדמות במהלך התנועה וביטול תנועת החזרה, בנוסף לקריאה הקודמת שלhandleOnBackPressed()
למקרים שבהם בוצעה תנועת החזרה.
גרסה 1.7
גרסה 1.7.2
24 במאי 2023
androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
ו-androidx.activity:activity-ktx:1.7.2
שוחררו. גרסה 1.7.2 כוללת את ההתחייבויות האלה.
תיקוני באגים
- תיקון קריסות של
ReportDrawn
כשיוצאים מהמסך לפני הקריאה שלreport
. (Ic46f1, b/260506820)
גרסה 1.7.1
19 באפריל 2023
androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
ו-androidx.activity:activity-ktx:1.7.1
שוחררו. גרסה 1.7.1 כוללת את ההתחייבויות האלה.
תיקוני באגים
- אין יותר דליפה של
ReportFullyDrawExecuter
כשמשתמשים ב-ComponentActivity
עםActivityScenario
. (Id2ff2, b/277434271)
גרסה 1.7.0
22 במרץ 2023
androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
ו-androidx.activity:activity-ktx:1.7.0
שוחררו. גרסה 1.7.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.6.0
- החוזים של הכלי לבחירת תמונות ב-
PickVisualMedia
וב-PickMultipleVisualMedia
עודכנו ועכשיו הם כוללים אפשרות נוספת למקרים שבהםMediaStore.ACTION_PICK_IMAGES
לא זמין, כך שיצרני ציוד מקורי (OEM) ואפליקציות מערכת (כמו Google Play Services) יוכלו לספק חוויה עקבית של הכלי לבחירת תמונות במגוון רחב יותר של מכשירי Android ורמות API. לשם כך, צריך להטמיע את פעולת הגיבוי. הכלי לבחירת תמונות ישתמש בחלופה הזו אם היא תהיה זמינה לפני חזרה לשימוש ב-Intent.ACTION_OPEN_DOCUMENT
, שעדיין תומך בכל המכשירים עם API 19 ואילך. ComponentDialog
מטמיע אתSavedStateRegistryOwner
ויש לו גישה ל-SavedStateRegistry
משלו ומגדיר אתSavedStateRegistryOwner
ל-ViewTree
שלו. עכשיו אפשר להשתמש ב-Jetpack פיתוח נייטיב בתוךComponentDialog
כי הוא עומד גם ב-LifecycleOwner
וגם ב-SavedStateRegistryOwner
שמצורפים לחלון דרך דרישות ה-API שלViewTree
.- עכשיו אפשר להגדיר ב-
IntentSenderRequest.Builder.setFlags()
כמה סימונים מ-Intent
, במקום רק דגל אחד.
המרת קוטלין
מספר כיתות לימוד הומרו ל-Kotlin. כל המחלקות שעברו המרה עדיין שומרות על תאימות בינארית לגרסאות קודמות. במחלקות הבאות יש שינויים לא תואמים למקור לכיתות שנכתבו ב-Kotlin: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
בטבלה הבאה מוצגות המרות המקור מהגרסה החדשה של הפעילות:
פעילות 1.5 | פעילות 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
גם הכיתות האלה הומרו ל-Kotlin, אבל ימשיכו להיות תואמות למקור: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
ו-OnBackPressedDispatcher
ממשקי API של FullyDrawnReporter
עכשיו יש ב-ComponentActivity
מופע של FullyDrawnReporter
שמאפשר למספר רכיבים לדווח כשהם מוכנים לאינטראקציה. ComponentActivity
ימתין להשלמת כל הרכיבים לפני קריאה ל-reportFullyDrawn()
בשמך. ממשקי ה-API האלה מטפלים בדרישות התזמון עבורך, ואין צורך להפעיל אותם כחלק משליחת קריאה ל-onDraw
.
מומלץ להפעיל את ממשקי ה-API האלה:
- איתות על זמן הריצה של Android בסיום ההפעלה, כדי להבטיח שכל הקוד שרץ במהלך רצף הפעלה מרובה פריימים נכלל ומקבל עדיפות להידור ברקע.
- איתות עבור מאקרובנצ'מרק ו-Play Vitals, כשצריך לבחון את האפליקציה באופן מלא למדדי ההפעלה, כך שתוכלו לעקוב אחר הביצועים.
נוספו שלושה ממשקי API של Activity Compose כדי שיהיה נוח יותר להשתמש ב-FullyDrawnReporter
בתכנים קומפוזביליים נפרדים:
ReportDrawn
מציין שהתוכן הקומפוזבילי מוכן לאינטראקציה.ReportDrawnWhen
לוקח פרדיקט (כלומר,list.count > 0
) כדי לציין מתי התוכן הקומפוזבילי מוכן לאינטראקציה.ReportDrawnAfter
משתמשת בשיטת השעיה. בסיום התהליך, סימן שאתם מוכנים לאינטראקציה.
עדכונים בנושא תלות
- הפעילות תלויה עכשיו במחזור החיים
2.6.1
. (8fc31d) - הפעילות תלויה עכשיו ב-ProfileInstaller
1.3.0
. (83d3b1)
גרסה 1.7.0-rc01
8 במרץ 2023
androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
ו-androidx.activity:activity-ktx:1.7.0-rc01
שוחררו. גרסה 1.7.0-rc01 מכילה את ההתחייבויות האלה.
עדכון בנושא תלות
- הפעילות תלויה עכשיו ב-
Lifecycle 2.6.0
.
גרסה 1.7.0-beta02
22 בפברואר 2023
androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
ו-androidx.activity:activity-ktx:1.7.0-beta02
שוחררו. גרסה 1.7.0-beta02 מכילה את התחייבויות אלה.
שינויים ב-API
- הפעולה והפיצ'רים הנוספים שמשמשים את החוזים
PickVisualMedia
ו-PickMultipleVisualMedia
כחלופה למצבים שבהםMediaStore.ACTION_PICK_IMAGES
לא זמין הם קבועים ציבוריים שמספקים עכשיו יציבות API ליצרני ציוד מקורי ולאפליקציות מערכת שרוצים לספק חוויה עקבית של הכלי לבחירת תמונות. היישום של החלופה הזו עדיין מוגבל רק לאפליקציות מערכת. (Icd320)
גרסה 1.7.0-beta01
8 בפברואר 2023
androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
ו-androidx.activity:activity-ktx:1.7.0-beta01
שוחררו. גרסה 1.7.0-beta01 מכילה את התחייבויות אלה.
תכונות חדשות
- עכשיו אפשר להגדיר ב-
IntentSenderRequest.Builder.setFlags()
כמה סימונים מ-Intent
, במקום רק דגל אחד. (Iac04c)
תיקוני באגים
- החלופה ל-
PickVisualMedia
כשבוחר התמונות לא זמין, מגבילה עכשיו את הטיפול לאפליקציות שמותקנות בתמונת המערכת של המכשיר. (If8ae6)
המרות של קוטלין
ActivityResultRegistryOwner
כתוב עכשיו ב-Kotlin. זהו שינוי לא תואם למקור עבור הכיתות שנכתבו ב-Kotlin. עכשיו יש לעקוף את המאפייןactivityResultRegistry
במקום להטמיע את הפונקציהgetActivityResultRegistry()
הקודמת. (I0b00e)OnBackPressedDispatcherOwner
כתוב עכשיו ב-Kotlin. זהו שינוי לא תואם למקור עבור הכיתות שנכתבו ב-Kotlin. עכשיו יש לעקוף את המאפייןonBackPressedDispatcher
במקום להטמיע את הפונקציהgetOnBackPressedDispatcher
הקודמת. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
ו-OnBackPressedDispatcher
נכתבים עכשיו ב-Kotlin. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
גרסה 1.7.0-alpha04
25 בינואר 2023
androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
ו-androidx.activity:activity-ktx:1.7.0-alpha04
שוחררו. גרסה 1.7.0-alpha04 מכילה את התחייבויות אלה.
תכונות חדשות
- החוזים של תוצאות הפעילות ב-
PickVisualMedia
וב-PickMultipleVisualMedia
יתבססו עכשיו על בורר התמונות שמסופק על ידי Google Play, במקרים שבהם מערכת Android סיפקה את בורר התמונות (למשל,MediaStore.ACTION_PICK_IMAGES
) לא זמין. הוצאנו משימוש את ה-API שלisPhotoPickerAvailable()
שמזהה רק את הכלי לבחירת תמונות שסופק על ידי מערכת Android. מומלץ להשתמש ב-API החדש שלisPhotoPickerAvailable(Context)
, שיוחזר אם הכלי לבחירת תמונות זמין. (I55be6)
גרסה 1.7.0-alpha03
11 בינואר 2023
androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
ו-androidx.activity:activity-ktx:1.7.0-alpha03
שוחררו. גרסה 1.7.0-alpha03 מכילה את התחייבויות אלה.
תכונות חדשות
ComponentDialog
מטמיע אתSavedStateRegistryOwner
ויש לו גישה ל-SavedStateRegistry
משלו ומגדיר אתSavedStateRegistryOwner
ל-ViewTree שלו. עכשיו אפשר להשתמש ב-Jetpack פיתוח נייטיב בתוךComponentDialog
כי הוא עומד גם ב-LifecycleOwner
וגם ב-SavedStateRegistryOwner
שמצורפים לחלון דרך דרישות ממשקי ה-API של ViewTree. (Idca17, I73468 b/261162296)
שינויים ב-API
- נוסף תוכן קומפוזבילי מסוג
ReportDrawn
שמסמן מיד שהפעילות מוכנה לקריאה אלreportFullyDrawn
. (Ic5b14, b/259687964)
המרות של קוטלין
- המחלקות
ActvitiyResultCallback
ו-OnBackPressedCallback
הומרו ל-Kotlin תוך שמירה על תאימות של מקור ובינארי. (Ifc5e5, Ide1b0, b/257291701)
גרסה 1.7.0-alpha02
24 באוקטובר 2022
androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
ו-androidx.activity:activity-ktx:1.7.0-alpha02
שוחררו. גרסה 1.7.0-alpha02 מכילה את התחייבויות אלה.
תיקוני באגים
- מפעילות
1.6.1
: תוקנה בעיה בחוזה של תוצאת הפעילות שלPickMultipleVisualMedia
שלא הופעל במכשירי Android R כשמשתמשים בערך ברירת המחדל שלmaxItems
. (Ie2776, b/249182130)
גרסה 1.7.0-alpha01
5 באוקטובר 2022
androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
ו-androidx.activity:activity-ktx:1.7.0-alpha01
שוחררו. גרסה 1.7.0-alpha01 מכילה את התחייבויות אלה.
ממשקי API של FullyDrawnReporter
עכשיו יש ב-ComponentActivity
מופע של FullyDrawnReporter
שמאפשר למספר רכיבים לדווח כשהם מוכנים לאינטראקציה. ComponentActivity
ימתין להשלמת כל הרכיבים לפני קריאה ל-reportFullyDrawn()
בשמך. ממשקי ה-API האלה מטפלים בדרישות התזמון עבורך, ואין צורך להפעיל אותם כחלק משליחת קריאה ל-onDraw
.
מומלץ להפעיל את ממשקי ה-API האלה:
- איתות על זמן הריצה של Android בסיום ההפעלה, כדי להבטיח שכל הקוד שרץ במהלך רצף הפעלה מרובה פריימים נכלל ומקבל עדיפות להידור ברקע.
- איתות עבור מאקרובנצ'מרק ו-Play Vitals, כשצריך לבחון את האפליקציה באופן מלא למדדי ההפעלה, כך שתוכלו לעקוב אחר הביצועים.
נוספו שני ממשקי API של Activity Compose כדי שיהיה נוח יותר להשתמש ב-FullyDrawnReporter
בתכנים קומפוזביליים נפרדים:
ReportDrawnWhen
לוקח פרדיקט (כלומר,list.count > 0
) כדי לציין מתי התוכן הקומפוזבילי מוכן לאינטראקציה.ReportDrawnAfter
משתמשת בשיטת השעיה. בסיום התהליך, סימן שאתם מוכנים לאינטראקציה.
גרסה 1.6.1
גרסה 1.6.1
24 באוקטובר 2022
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
ו-androidx.activity:activity-ktx:1.6.1
שוחררו. גרסה 1.6.1 כוללת את ההתחייבויות האלה.
תיקוני באגים
- תוקנה בעיה בחוזה של תוצאת הפעילות של
PickMultipleVisualMedia
שלא הופעל במכשירי Android R כשנעשה שימוש בערך ברירת המחדל שלmaxItems
. (Ie2776, b/249182130)
גרסה 1.6.0
גרסה 1.6.0
21 בספטמבר 2022
androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
ו-androidx.activity:activity-ktx:1.6.0
שוחררו. גרסה 1.6.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.5.0
- הוספנו את
ActivityResultContracts.PickVisualMedia
ואתActivityResultContracts.PickMultipleVisualMedia
בגלל אספקת חוזה עם תאימות לאחור לפיMediaStore.ACTION_PICK_IMAGES
כשהכלי לבחירת תמונות זמין, ו-Intent.ACTION_OPEN_DOCUMENT
אם הוא לא זמין. - הטמעת את
OnBackInvokedCallback
ב-Android 13 ב-OnBackPressedDispatchers
שלComponentActivity
ו-ComponentDialog
. כך ניתן להבטיח שכל ממשקי ה-API שמבוססים עלOnBackPressedDispatcher
יפעלו כשמפעילים תנועת חיזוי חזרה.
גרסה 1.6.0-rc02
7 בספטמבר 2022
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
ו-androidx.activity:activity-ktx:1.6.0-rc02
שוחררו. גרסה 1.6.0-rc02 מכילה את שמירות האלה.
תיקוני באגים
OnBackPressedDispatcher
רושם עכשיו אתOnBackInvokedCallback
עםPRIORITY_DEFAULT
במקוםPRIORITY_OVERLAY
. (I3901f)- בכיתות הנמשכות יותר מ-
ComponentActivity
, תמיד תתבצע שליחה של שתי הקריאות החוזרות (callback) שלonMultiWindowModeChanged()
. (Ic4d85) - הפונקציה
ActivityResultRegistry
לא תחזיר יותר תוצאה אלActivityResultCallback
כשהקריאה אלlaunch
גורמת לתוצאה כלשהיException
והקריאה החוזרת בוצעה ללאLifecycleOwner
. (Ia7ff7, b/238350794) - מעכשיו,
ComponentActivity
שולח באופן תקין קריאות לתפריט ללא צורך להפעיל את פונקציית ה-Super בפעילות שלך. (Ie33c5, b/238057118)
עדכון לגבי תלות
- הספרייה
Activity
תלויה עכשיו בדוחות מחזור חיים2.5.1
. (If6697)
גרסה 1.6.0-rc01
24 באוגוסט 2022
androidx.activity:activity:1.6.0-rc01
, androidx.activity:activity-compose:1.6.0-rc01
ו-androidx.activity:activity-ktx:1.6.0-rc01
שוחררו. גרסה 1.6.0-rc01 מכילה את שמירות האלה.
תיקוני באגים
- אתחול של
OnBackPressedDispatcher
כבר לא יגרום לשימוש במעבדיClassVerificationError
כשמשתמשים בגרסאות SDK שקודמות ל-33. (Ic32e1) - בכיתות שיעקפו את הקריאה החוזרת של
ComponentActivity
onPictureInPictureModeChanged()
תמיד יישלחו קריאות חוזרות (callback) שלהם. (Ib7fdb)
גרסה 1.6.0-beta01
10 באוגוסט 2022
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
ו-androidx.activity:activity-ktx:1.6.0-beta01
שוחררו. גרסה 1.6.0-beta01 מכילה את התחייבויות אלה.
שינויים ב-API
- השיטות
startActivityForResult
ו-startIntentSenderForResult
שהוצאו משימוש ב-ComponentActivity
עם@NonNull
סומנו כי העברה שלnull
תמיד גרמה לקריסה. (Id2a25, b/231476082)
תיקוני באגים
- מפעילות
1.5.1
:ActivityResultRegistry
לא יחזיר תוצאה ל-ActivityResultCallback
כשהקריאה ל-launch
תגרור תוצאה כלשהיException
והקריאה החוזרת בוצעה ללאLifecycleOwner
. (Ia7ff7, b/238350794) - מפעילות
1.5.1
:ComponentActivity
ישלח עכשיו קריאות לתפריט באופן תקין אלonPrepareOptionMenu()
,onCreateOptionsMenu()
ו-onOptionsItemSelected()
ללא צורך בקריאה לפונקציית-על. (Ie33c5, b/238057118)
עדכון לגבי תלות
- מפעילות
1.5.1
: הספרייהActivity
תלויה עכשיו בגרסהLifecycle
2.5.1
. (If6697)
גרסה 1.6.0-alpha05
15 ביוני 2022
androidx.activity:activity:1.6.0-alpha05
, androidx.activity:activity-compose:1.6.0-alpha05
ו-androidx.activity:activity-ktx:1.6.0-alpha05
שוחררו. גרסה 1.6.0-alpha05 פותחה בהסתעפות פרטית בטרום-השקה, ללא התחייבות ציבורית.
שינויים ב-API
- הערך של
minCompileSdk
הוא עכשיו 33 כדי להתאים ל-SDK של Tiramisu Beta 3
תיקוני באגים
- תוקנה קריסה במכשירים ישנים יותר בזמן בדיקת תוסף SDK עבור
ActivityResultContract
PickVisualMedia
, כדי שהוא אמור לפעול עכשיו עםACTION_OPEN_DOCUMENT
במכשירים עם Android מגרסה 10 ומטה.
גרסה 1.6.0-alpha04
18 במאי 2022
androidx.activity:activity:1.6.0-alpha04
ו-androidx.activity:activity-ktx:1.6.0-alpha04
שוחררו.
תיקוני באגים
- תוקנה שגיאה ב-
PickVisualMediaRequest
שבה ניסיון ליצור בקשה, באמצעות ה-builder או באמצעות פונקציית Kotlin ברמה העליונה, תוביל להצגת גלישת קריסות. - שילבנו את
OnBackInvokedCallback
ב-Android 13 Dev Beta 2 ב-OnBackPressedDispatcher
שלComponentDialog
. כך כל ממשקי ה-API שמבוססים עלOnBackPressedDispatcher
יפעלו כשמפעילים תנועת חזרה חזויה.
גרסה 1.6.0-alpha03
27 באפריל 2022
androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
ו-androidx.activity:activity-ktx:1.6.0-alpha03
שוחררו.
- הערה: הגרסה הזו תעבור הידור רק אחרי SDK של Android 13 Developer Beta 1.
תכונות חדשות
- הוספנו את
ActivityResultContracts.PickVisualMedia
ואתActivityResultContracts.PickMultipleVisualMedia
בגלל אספקת חוזה עם תאימות לאחור לפיMediaStore.ACTION_PICK_IMAGES
כשהכלי לבחירת תמונות זמין, ו-Intent.ACTION_OPEN_DOCUMENT
אם הוא לא זמין. - הטמע את
OnBackInvokedCallback
ב-Android 13 Dev Beta 1 ב-OnBackPressedDispatcher
שלComponentActivity
. כך כל ממשקי ה-API שמבוססים עלOnBackPressedDispatcher
יפעלו כשמפעילים תנועת חזרה חזויה.
גרסה 1.6.0-alpha01
23 במרץ, 2022
androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
ו-androidx.activity:activity-ktx:1.6.0-alpha01
שוחררו.
- הערה: הגרסה הזו תעבור הידור רק אחרי SDK של Android 13 Developer Preview 2.
תכונות חדשות
- שינויים משולבים ב-
ComponentActivity
בגרסת טרום-השקה (Preview) 2 של Android 13.
גירסה 1.5.1
גירסה 1.5.1
27 ביולי 2022
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
ו-androidx.activity:activity-ktx:1.5.1
שוחררו. גרסה 1.5.1 כוללת את ההתחייבויות האלה.
תיקוני באגים
הפונקציה
ActivityResultRegistry
לא תחזיר יותר תוצאה אלActivityResultCallback
כשהקריאהlaunch()
מפעילהException
והקריאה החוזרת בוצעה ללאLifecycleOwner
. (Ia7ff7, b/238350794)ComponentActivity
ישלח עכשיו קריאות לתפריט ל-onPrepareOptionMenu()
, ל-onCreateOptionsMenu()
ול-onOptionsItemSelected()
באופן תקין בלי צורך לקרוא לפונקציית העל. (Ie33c5, b/238057118)
עדכון בנושא תלות
- הספרייה
Activity
תלויה עכשיו במחזור החיים2.5.1
. (If6697)
גרסה 1.5.0
גרסה 1.5.0
29 ביוני 2022
androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
ו-androidx.activity:activity-ktx:1.5.0
שוחררו. גרסה 1.5.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.4.0
- ElementDialog –
ComponentDialog
הוא מחלקה שלDialog
שכוללת אתOnBackPressedDispatcher
, תתבצע קריאה כאשר לחיצה על לחצן 'הקודם' של המערכת ותיבת הדו-שיח מוצגת. חשוב לציין שגם תת-המחלקה הזו מגדירה אתViewTreeOnBackPressedDispatcherOwner
, וכך מאפשרת בתצוגות דרך גנרית לאחזר את השולח הנכון, בין אם הוא קיים ב-ComponentActivity
או ב-ComponentDialog
. - ממשקי קריאה חוזרת – ב-
ComponentActivity
מוטמע עכשיו סדרה של ממשקי קריאה חוזרת מודולריים שאפשר להשתמש בהם במקום הקריאות החוזרות (callback) שלActivity
. הממשקים האלה כוללים את:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
- שילוב של CreationExtras –
ComponentActivity
יכול עכשיו לספקViewModelProvider.Factory
ללא שמירת מצב דרךCreationExtras
של מחזור חיים2.5.0
.
שינויים אחרים
- ה-constructor של אפס פרמטרים של
ActivityResultContracts.CreateDocument
הוצא משימוש והוחלף ב-constructor חדש שמקבל סוג mime קונקרטי (למשל, "image/png") כפי שנדרש על ידיIntent.ACTION_CREATE_DOCUMENT
.
גרסה 1.5.0-rc01
11 במאי 2022
androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
ו-androidx.activity:activity-ktx:1.5.0-rc01
שוחררו ללא שינויים מ-1.5.0-beta01. גרסה 1.5.0-rc01 מכילה את ההתחייבויות האלה.
גרסה 1.5.0-beta01
20 באפריל 2022
androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
ו-androidx.activity:activity-ktx:1.5.0-beta01
שוחררו. גרסה 1.5.0-beta01 מכילה את התחייבויות אלה.
עדכונים בנושא תלות
- הפעילות תלויה עכשיו במחזור החיים
2.4.0-beta01
.
גרסה 1.5.0-alpha05
6 באפריל 2022
androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
ו-androidx.activity:activity-ktx:1.5.0-alpha05
שוחררו. גרסה 1.5.0-alpha05 מכילה את התחייבויות אלה.
תיקוני באגים
- הפקודה
onPanelClosed()
שלComponentActivity
מפעילה עכשיו גם את הסופרonPanelClosed()
, ופותרת בעיה שגרמה לכך שלא ניתן לקרוא לשיטהonContextMenuClosed
. (Ib6f77)
גרסה 1.5.0-alpha04
23 במרץ, 2022
androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
ו-androidx.activity:activity-ktx:1.5.0-alpha04
שוחררו. גרסה 1.5.0-alpha04 מכילה את התחייבויות אלה.
תיקוני באגים
SavedStateViewFactory
תומך עכשיו בשימוש ב-CreationExtras
גם כאשר הוא אותחל עםSavedStateRegistryOwner
. אם תספקו תוספות, המערכת תתעלם מהארגומנטים המאתחלים. (I6c43b, b/224844583)
גרסה 1.5.0-alpha03
23 בפברואר 2022
androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
ו-androidx.activity:activity-ktx:1.5.0-alpha03
שוחררו. גרסה 1.5.0-alpha03 מכילה את התחייבויות אלה.
שינויים ב-API
- עכשיו אפשר להעביר את
CreationExtras
לפונקצייתby viewModels()
של הפעילות (I6a3e6, b/217600303)
גרסה 1.5.0-alpha02
9 בפברואר 2022
androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
ו-androidx.activity:activity-ktx:1.5.0-alpha02
שוחררו. גרסה 1.5.0-alpha02 מכילה את התחייבויות אלה.
תכונות חדשות
ComponentActivity
מטמיע עכשיו את הממשקOnPictureInPictureModeChangedProvider
כדי לאפשר כדי לקבל אירועי שינוי במצב 'תמונה בתוך תמונה'. (I9f567)ComponentActivity
מטמיע עכשיו את הממשקOnMultiWindowModeChangedProvider
כדי לאפשר כדי לקבל אירועי שינוי במצב ריבוי חלונות. (I62d91)
גרסה 1.5.0-alpha01
26 בינואר, 2022
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
ו-androidx.activity:activity-ktx:1.5.0-alpha01
שוחררו. גרסה 1.5.0-alpha01 מכילה את התחייבויות אלה.
תכונות חדשות
ComponentActivity
משתלב עכשיו עם ViewModel CreationExtras, שנוצר כחלק מ-Lifecycle2.5.0-alpha01
. (Ie7e00, b/207012584)- נוספה קבוצת המשנה
ComponentDialog
, תת-מחלקה שלDialog
שכוללOnBackPressedDispatcher
שתיקרא כשלחצן 'הקודם' של המערכת נלחץ כשמוצגת תיבת הדו-שיח. חשוב לציין מחלקה משנית הזו גם מגדירהViewTreeOnBackPressedDispatcherOwner
, הפעלת תצוגות מפורטות דרך כללית לאחזר את השולח הנכון בין אם הוא קיים בComponentActivity
אוComponentDialog
. I8a1bc - הגרסה החדשה מיושמת עכשיו על ידי
ComponentActivity
הממשקOnNewIntentProvider
כדי לאפשר רכיב כלשהו כדי לקבל את האירועים האלה. (If1f8b) - הגרסה החדשה מיושמת עכשיו על ידי
ComponentActivity
הממשקOnConfigurationChangedProvider
כדי לאפשר רכיב כלשהו כדי לקבל את האירועים האלה. (If623b) - הגרסה החדשה מיושמת עכשיו על ידי
ComponentActivity
ממשקOnTrimMemoryProvider
שמאפשר גישה לכל רכיב כדי לקבל את האירועים האלה. (Ia9295)
שינויים ב-API
- ה-constructor של no פרמטרים עבור
במסגרת
ActivityResultContracts.CreateDocument
הוצא משימוש והוחלף ב-constructor חדש שלוקח סוג MIME קונקרטי (למשל,"image/png"
), כפי שנדרש על ידיIntent.ACTION_CREATE_DOCUMENT
. (I2bec6) OnBackPressedDispatcherOwner
המשויכים לתצוגה מפורטת, יכולים עכשיו להיות מאוחזרים דרךViewTreeOnBackPressedDispatcherOwner
, במקום זאת מאשר להסתמך על הפעלת ה-Context
. (I74685)
תיקוני באגים
- תוקנה קריסה במהלך גישה אל
ViewModel
בפעם הראשונה התקשרות חזרה שלregisterForActivityResult()
או קריאות חוזרות (callback) אלLifecycleObserver
שנוספו כחלק מ-init
מתוךComponentActivity
. (Ife83f)
גרסה 1.4.0
גרסה 1.4.0
27 באוקטובר 2021
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
ו-androidx.activity:activity-ktx:1.4.0
שוחררו. גרסה 1.4.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.3.0
- AndroidX
ComponentActivity
מטמיע עכשיו את הממשקMenuHost
. כך כל רכיב יכול להוסיף אפשרויות בתפריט אלActionBar
על ידי הוספת מופע שלMenuProvider
לפעילות. אפשר גם להוסיף כלMenuProvider
עםLifecycle
שיקבע אוטומטית את הרשאות הגישה של הפריטים האלו בתפריט בהתאם למצבLifecycle
ויטפל בהסרה שלMenuProvider
כשה-Lifecycle
יושמד. - הכיתה
ActivityResultContract
נכתבה מחדש ב-Kotlin כדי להבטיח שמפתחים שכותבים חוזים מותאמים אישית ב-Kotlin יוכלו להגדיר את ערך ה-null הנכון עבור מחלקות הקלט והפלט שלהם. - הכיתה
ActivityResultContracts
והחוזים שלה נכתבו מחדש ב-Kotlin כדי להבטיח ערך null תקין.
גרסה 1.4.0-rc01
13 באוקטובר 2021
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
ו-androidx.activity:activity-ktx:1.4.0-rc01
שוחררו. גרסה 1.4.0-rc01 מכילה את ההתחייבויות האלה.
תיקוני באגים
- הפונקציה
ActivityResultRegistry
לא תחזיר יותר תוצאה אלActivityResultCallback
כשהקריאהlaunch
מפעילהException
(If4f91, b/200845664)
גרסה 1.4.0-beta01
29 בספטמבר 2021
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
ו-androidx.activity:activity-ktx:1.4.0-beta01
שוחררו. גרסה 1.4.0-beta01 מכילה את התחייבויות אלה.
שינויים ב-API
- תוקן הסוג של
ActivityResultContracts.OpenMultipleDocuments
וגםActivityResultContracts.GetMultipleContents
ש תגרום לשימוש בסוג פלטList<? extends Uri>
כשנעשה שימוש בקוד מתוך בשפת התכנות Java. (If71de) - עכשיו ניתן לגשת לקבועים ציבוריים במחלקות
ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
ו-ActivityResultContracts.RequestMultiplePermissions
כשמשתמשים ב-Kotlin דרך האובייקטיםCompanion
הציבוריים שלהם. (aosp/1832555)
עדכונים במסמכים
- הודעת ההוצאה משימוש של ממשקי API שטופלו עכשיו על ידי Activity result APIs (
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
ו-onRequestPermissionsResult
), הורחבה עם פרטים נוספים. (cce80f)
גרסה 1.4.0-alpha02
15 בספטמבר 2021
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
ו-androidx.activity:activity-ktx:1.4.0-alpha02
שוחררו. גרסה 1.4.0-alpha02 מכילה את התחייבויות אלה.
תכונות חדשות
- פריט המידע שנוצר בתהליך הפיתוח (Artifact) של
activity-compose
מכיל עכשיו שגיאת איתור שגיאות בקוד מסוגLaunchDuringComposition
שמונעת ממך להפעיל את השיטהlaunch
שלActivityResultLauncher
כחלק מהיצירה, כי הרכבה צריך להיות נטול השפעות לוואי. השתמשו בממשקי API לטיפול בתופעות לוואי. (7c2bbe, b/191347220)
שינויים ב-API
- בכיתה
ActivityResultContract
יש נכתבו מחדש ב-Kotlin כדי להבטיח שמפתחים כתיבת חוזים מותאמים אישית ב-Kotlin היכולת לתקן את ערך הקלט והפלט הסוגים. (I8a8f5) - הכיתה
ActivityResultContracts
החוזים נכתבו מחדש ב-Kotlin כדי להבטיח יכולת אפסית תקינה. (I69802)
גרסה 1.4.0-alpha01
1 בספטמבר 2021
androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
ו-androidx.activity:activity-ktx:1.4.0-alpha01
שוחררו. גרסה 1.4.0-alpha01 מכילה את התחייבויות אלה.
תכונות חדשות
- AndroidX
ComponentActivity
מטמיע עכשיו את הממשקMenuHost
. כך כל רכיב יכול להוסיף אפשרויות בתפריט אלActionBar
על ידי הוספת מופע שלMenuProvider
לפעילות. אפשר גם להוסיף כלMenuProvider
עםLifecycle
שיקבע אוטומטית את הרשאות הגישה של הפריטים האלו בתפריט בהתאם למצבLifecycle
ויטפל בהסרה שלMenuProvider
כשה-Lifecycle
יושמד. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
שינויים בהתנהגות
- המשחק
ActivityResultRegistry
יקפיץ עכשיוIllegalStateException
בעת ניסיון להתקשר אלlaunch()
במכשיר הדומייןActivityResultLauncher
שלא רשום או שלא נרשם הרישום בוטל. (Ida75d, b/192567522)
תרומה חיצונית
גרסה 1.3.1
גרסה 1.3.1
4 באוגוסט 2021
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
ו-androidx.activity:activity-ktx:1.3.1
שוחררו. גרסה 1.3.1 כוללת את ההתחייבויות האלה.
עדכונים בנושא תלות
- הפעילות תלויה עכשיו ב-Kotlin
1.5.21
. - ההצעות לכתיבה תלויות עכשיו ב'כתיבה'
1.0.1
.
גרסה 1.3.0
גרסה 1.3.0
28 ביולי 2021
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
ו-androidx.activity:activity-ktx:1.3.0
שוחררו. גרסה 1.3.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.2.0
- ארטיפקט של Activity Compose – פריט המידע שנוצר בתהליך הפיתוח (Artifact) מסוג
activity-compose
מספק את שיטת התוסףsetContent
לאירוח ממשק המשתמש של Jetpack Compose בפעילות, ול-Composes wrappers ספציפיים לאינטראקציה עם ממשקי ה-API שלComponentActivity
לטיפול בלחצן החזרה של המערכת ובממשקי ה-API של תוצאות הפעילות. פרטים נוספים זמינים במסמכי התיעוד. - חוזה מסוג CaptureVideo –
CaptureVideo
ActivityResultContract
מחליף את החוזה שלTakeVideo
שיצא משימוש, ומחזיר ערך בוליאני לציון הצלחה שפועל באפליקציות מצלמה רבות. - מעקב אחר רמז בתמונה בתוך תמונה – המשתמשים של
activity-ktx
יכולים עכשיו להשתמש בשיטת התוסףtrackPipAnimationHintView
ב-Activity
כדי לבנות מחדש באופן אוטומטי אתPictureInPictureParams
עם המיקום החדש של התצוגה, כי היא משתנה ביחס לחלון.
גרסה 1.3.0-rc02
14 ביולי 2021
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
ו-androidx.activity:activity-ktx:1.3.0-rc02
שוחררו. גרסה 1.3.0-rc02 מכילה את ההתחייבויות האלה.
תיקוני באגים
- הקריאות החוזרות של
ActivityResultRegistry
שמורות עכשיו כמו שצריך ושוחזרו, כדי שהקריאות החוזרות לא ישוכפלו ב-SavedState. (I97816, b/191893160)
גרסה 1.3.0-rc01
1 ביולי 2021
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
ו-androidx.activity:activity-ktx:1.3.0-rc01
מתפרסמים ללא שינויים החל מ-1.3.0-beta02
. גרסה 1.3.0-rc01 מכילה את ההתחייבויות האלה.
גרסה 1.3.0-beta02
16 ביוני 2021
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
ו-androidx.activity:activity-ktx:1.3.0-beta02
שוחררו. גרסה 1.3.0-beta02 מכילה את התחייבויות אלה.
ההגדרה activity-compose
עודכנה בהתאם ל'כתיבה' 1.0.0-beta09
. ב-androidx.compose.ui:ui-test-junit4
יש עכשיו תלות בזמן הידור ב-activity-compose
.
גרסה 1.3.0-beta01
2 ביוני 2021
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
ו-androidx.activity:activity-ktx:1.3.0-beta01
שוחררו. גרסה 1.3.0-beta01 מכילה את התחייבויות אלה.
שינויים ב-API
- השיטה
@Composable registerForActivityResult()
שהוצאה משימוש בעבר הוסרה. צריך להשתמש ב-rememberLauncherForActivityResult()
. (Ic39d3)
גרסה 1.3.0-alpha08
18 במאי 2021
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
ו-androidx.activity:activity-ktx:1.3.0-alpha08
שוחררו. גרסה 1.3.0-alpha08 מכילה את התחייבויות אלה.
תכונות חדשות
- הפונקציה
CaptureVideo
ActivityResultContract
החדשה מחזירה ערך בוליאני ל-ActivityResultCallback
, שמציין אם הסרטון נשמר בהצלחה ב-URI הנתון. הגרסה הזו מחליפה את החוזה ב-TakeVideo
שהוצא משימוש, כי לעיתים רחוקות מאוד אפליקציות מצלמה תומכות בהחזרת מפת סיביות של תמונה ממוזערת, ולכן התוצאה לא מועילה. (Ie21f2, b/185938070) - ממשק ה-API החדש
Activity#setPipAnimationHintView
נוסף לעדכון של PipParams רמז לכתיבה במקור בכל פעם שהתצוגה זזה. (I9063d)
שינויים ב-API
- הפונקציה
rememberLauncherForActivityResult
מחזירה עכשיו מרכז אפליקציות שמוציא משימוש את הפונקציהunregister()
– הרישום וביטול הרישום של מרכז האפליקציות מטופלות באופן אוטומטי על ידיrememberLauncherForActivityResult
. (I2443e)
תאימות לכתיבה
androidx.activity:activity-compose:1.3.0-alpha08
תואם רק לגרסה1.0.0-beta07
ואילך של 'כתיבה'.
גרסה 1.3.0-alpha07
21 באפריל 2021
androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
ו-androidx.activity:activity-ktx:1.3.0-alpha07
שוחררו. גרסה 1.3.0-alpha07 מכילה את התחייבויות אלה.
תיקוני באגים
rememberLauncherForActivityResult
עכשיו מחזירה הפניה קבועה שלActivityResultLauncher
גם אם שינויים בחוזה עקב הרכבים מחדש. (Id2d6d)- השימוש בגרסאות לא יציבות של Fragments מעל
1.3.0
יופסק תפעיל שגיאת איתור שגיאות בקוד (lint) שקוראת לכם להשתמש ב-1.3.0
. (aosp/1670206, b/184847092)
גרסה 1.3.0-alpha06
7 באפריל 2021
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
ו-androidx.activity:activity-ktx:1.3.0-alpha06
שוחררו. גרסה 1.3.0-alpha06 מכילה את התחייבויות אלה.
שינויים ב-API
- השם של ה-API
registerForActivityResult()
השתנה ל-rememberLauncherForActivityResult()
כדי לציין בצורה טובה יותר שה-ActivityResultLauncher
שהוחזר הוא אובייקט מנוהל שנשמר בשמך. ניסיון להתקשר אלunregister
אלActivityResultLauncher
שהוחזרו יקפיץ הודעת שגיאה. (I2bb6d) LocalOnBackPressedDispatcherOwner.current
והקבוצהLocalActivityResultRegistryOwner.current
מחזיר עכשיו ערך null כדי לקבוע בצורה מדויקת יותר אם הוא זמין ביצירה הנוכחית. את ממשקי ה-API שמחייבים את ממשקי ה-API האלה. כמוBackHandler
ו-rememberLauncherForActivityResult()
, בהתאמה, עכשיו יקפיץ הודעת שגיאה תיאורית יותר הבעלים המקורי לא נמצא.NavHost
עובד עכשיו גם אם לא נמצאOnBackPressedDispatcherOwner
, זה מה שקורה כשצופים בתצוגה מקדימה שלNavHost
. (I7d8b4)
תיקוני באגים
- עכשיו
BackHandler
יירט כראוי לחיצות חוזרות האירוע שבו הפעילות היאSTOPPED
, ואז שובSTARTED
, ועוד נוספו קריאות חוזרות (callback) עם LifecycleOwner. (I71de6, b/182284739) - שימוש בתוסף השיטה
launch()
עם תוסף מותאם אישית רכיבActivityResultContract
שיש בו קלטUnit
כבר לא יגרום ל-NullPointerException
(I76282, b/183837954)
גרסה 1.3.0-alpha05
24 במרץ 2021
androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
ו-androidx.activity:activity-ktx:1.3.0-alpha05
שוחררו. גרסה 1.3.0-alpha05 מכילה את התחייבויות אלה.
תיקוני באגים
- מפעילות 1.2.2: תוקנה בעיה בבדיקת השגיאות בקוד של
InvalidFragmentVersionForActivityResult
, שהובילה לחיוב שגוי במהלך השימוש ב-Fragment 1.3.1 ואילך. (I54da1, b/182388985) - מפעילות 1.2.2: מעכשיו,
ComponentActivity
נמנע מ-ClassNotFoundException
כשמפעיליםIntent
מ-ActivityResultContract
שהיה נקבע בעבר כתוספת בIntent
אחר. (Ieff05, b/182906230)
עדכונים בנושא תלות
- מפעילות 1.2.2: הפעילות תלויה עכשיו במחזור החיים
2.3.1
.
גרסה 1.3.0-alpha04
10 במרץ 2021
androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
ו-androidx.activity:activity-ktx:1.3.0-alpha04
שוחררו. גרסה 1.3.0-alpha04 מכילה את התחייבויות אלה.
תיקוני באגים
- מפעילות
1.2.1
: מעכשיו,RequestMultiplePermissions
תמיד יחזיר תוצאות של כל ההרשאות הנדרשות, במקום רק הרשאות שלא הוענקו בעבר. (I50bc3, b/180884668) - מפעילות
1.2.1
:ActivityResultRegistry
מוודא עכשיו שבתהליך עיבוד בקשותlaunch()
יחזירו את התוצאות שלהן גם אםunregister()
, ואזregister()
שוב עם אותו מפתח. (I9ef34, b/181267562) - כתיבת הפעילות כבר לא מוסיפה בדיקה ותלויות ב-classpath של סביבת זמן הריצה. (Ifd8b3)
- תוקנה בעיה ב-
BackHandler
שבה lambda שלonBack
שהוגדרה בעבר עדיין היה בשימוש אחרי הרכבה מחדש. (8eb5eb)
גרסה 1.3.0-alpha03
24 בפברואר 2021
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
ו-androidx.activity:activity-ktx:1.3.0-alpha03
שוחררו. גרסה 1.3.0-alpha03 מכילה את התחייבויות אלה.
תכונות חדשות
- יש עכשיו פונקציה קומפוזבילית
registerForActivityResult
לקבלת תוצאות מפעילויות בתוך תכנים קומפוזביליים. (Ia7851, b/172690553)
שינויים ב-API
- ב-
LocalOnBackPressedDispatcherOwner
יש עכשיו פונקציותprovides
שיכולות יהיה בשימוש ב-CompositionLocalProvider
, והוא יחליף את ממשק ה-API שלasProvidableCompositionLocal()
. (I45d24)
גרסה 1.3.0-alpha02
10 בפברואר 2021
androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
ו-androidx.activity:activity-ktx:1.3.0-alpha02
שוחררו. גרסה 1.3.0-alpha02 מכילה את התחייבויות אלה.
תיקוני באגים
- תוקנה בעיה בניסוח 'פעילות בכתיבה'
1.3.0-alpha01
שגורמת לחריגהNoSuchMethodError: No static method setContent
במהלך השימוש בניסוח1.0.0-alpha12
. כל המשתמשים ב'פיתוח נייטיב' צריכים להיות תלויים ב-1.3.0-alpha02
ומעלה. (b/179911234)
שינויים ב-API
- אפשר להשתמש ב-API
BackHandler
כדי לאפשר לפריט קומפוזבילי ליירט את לחצן 'הקודם' של המערכת. (I58ed5, b/172154006)
גרסה 1.3.0-alpha01
10 בפברואר 2021
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
ו-androidx.activity:activity-ktx:1.3.0-alpha01
שוחררו. גרסה 1.3.0-alpha01 מכילה את התחייבויות אלה.
תכונות חדשות
- הארטיפקט החדש של
activity-compose
מספק כלי עזר ספציפיים ל-Jetpack פיתוח נייטיב ל-androidx.activity
ממשקי API ספציפיים.ComponentActivity.setContent
עבר מ-androidx.compose.ui.platform.setContent
ל-androidx.activity.compose.setContent
. (Icf416)
בעיות מוכרות
- שימוש בכלי 'פיתוח נייטיב'
1.3.0-alpha01
ובספריות שתלויות בו, כמוandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
, יוביל להחרגה שלNoSuchMethodError: No static method setContent
. (b/179911234)
גרסה 1.2.4
גרסה 1.2.4
21 ביולי 2021
androidx.activity:activity:1.2.4
ו-androidx.activity:activity-ktx:1.2.4
שוחררו. גרסה 1.2.4 כוללת את ההתחייבויות האלה.
תיקוני באגים
- מפעילות
1.3.0-rc02
: הקריאות החוזרות (callback) של Activity resultRegistry נשמרות עכשיו כמו שצריך ושוחזרו, כדי שהקריאות החוזרות לא ישוכפלו ב-SavedState. (I97816, b/191893160)
גרסה 1.2.3
גרסה 1.2.3
5 במאי 2021
androidx.activity:activity:1.2.3
ו-androidx.activity:activity-ktx:1.2.3
שוחררו. גרסה 1.2.3 כוללת את ההתחייבויות האלה.
תיקוני באגים
- שימוש בתוסף השיטה
launch()
עם תוסף מותאם אישית רכיבActivityResultContract
שיש בו קלטUnit
כבר לא יגרום ל-NullPointerException
(I76282, b/183837954) - תוקנה שגיאה באיתור שגיאות בקוד (lint) שמנחה את המשתמשים להשתמש במקטע
1.3.0
במהלך שימוש בגרסת snapshot, אלפא, בטא או RC של גרסה חדשה יותר של Fragments. (f4a57e, b/184847092)
גרסה 1.2.2
גרסה 1.2.2
24 במרץ 2021
androidx.activity:activity:1.2.2
ו-androidx.activity:activity-ktx:1.2.2
שוחררו. גרסה 1.2.2 כוללת את ההתחייבויות האלה.
תיקוני באגים
- תוקנה בעיה בבדיקת השגיאות בקוד של
InvalidFragmentVersionForActivityResult
שהובילה לערך חיובי שגוי במהלך השימוש ב-Fragment 1.3.1 ואילך. (I54da1, b/182388985) - עכשיו
ComponentActivity
נמנע מClassNotFoundException
כשמפעיליםIntent
מ-ActivityResultContract
שהיה שמור בעבר כתוספת ב-Intent
אחר. (Ieff05, b/182906230)
עדכונים בנושא תלות
- הפעילות תלויה עכשיו במחזור החיים
2.3.1
.
גרסה 1.2.1
גרסה 1.2.1
10 במרץ 2021
androidx.activity:activity:1.2.1
ו-androidx.activity:activity-ktx:1.2.1
שוחררו. גרסה 1.2.1 כוללת את ההתחייבויות האלה.
תיקוני באגים
- מעכשיו,
RequestMultiplePermissions
תמיד יחזיר תוצאות עבור כל ההרשאות הנדרשות, במקום רק הרשאות שלא הוענקו בעבר. (I50bc3, b/180884668) - לפי ההגדרה
ActivityResultRegistry
, בקשות שלlaunch()
שנמצאות בתהליך יחזירו את התוצאות שלהן גם אםunregister()
, ולאחר מכן שובregister()
עם אותו מפתח. (I9ef34, b/181267562)
גרסה 1.2.0
גרסה 1.2.0
10 בפברואר 2021
androidx.activity:activity:1.2.0
ו-androidx.activity:activity-ktx:1.2.0
שוחררו. גרסה 1.2.0 כוללת את ההתחייבויות האלה.
שינויים משמעותיים מאז 1.1.0
- ממשקי API של תוצאות פעילות:
ComponentActivity
מספק עכשיוActivityResultRegistry
שמאפשר לטפל בתהליכיstartActivityForResult()
+onActivityResult()
וגםrequestPermissions()
+onRequestPermissionsResult()
בלי לעקוף את השיטות ב'פעילות' או ב-Fragment', ומשפר את בטיחות הסוגים באמצעותActivityResultContract
, ומספק קטעי הוק (hooks) לבדיקת התהליכים האלה. תוכלו לעיין בגרסה המעודכנת של קבלת תוצאה מפעילות.
ContextAware
:ComponentActivity
מטמיע עכשיו אתContextAware
, וכך אפשר להוסיף מופע אחד או יותר שלOnContextAvailableListener
שיקבלו קריאה חוזרת לפני הבסיסActivity.onCreate()
.- תוסף Kotlin עם השעיה
withContextAvailable()
מאפשר להפעיל בלוק שלא נמצא בהמתנה כשההקשר הופך לזמין ולהחזיר תוצאה. - ה-API הזה משמש את
FragmentActivity
במקטע 1.3.0 כדי לשחזר את המצב שלFragmentManager
. מאזינים שנוספו למחלקות המשנה שלFragmentActivity
יפעלו אחרי המאזינים האלה. - ה-API הזה משמש את
AppCompatActivity
ב-AppCompat 1.3.0-alpha02 ואילך. מאזינים שנוספו למחלקות המשנה שלAppCompatActivity
יפעלו אחרי המאזינים האלה.
- תוסף Kotlin עם השעיה
תמיכה של
ViewTree
:ComponentActivity
תומך עכשיו בממשקי ה-API שלViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
ו-ViewTreeSavedStateRegistryOwner
שנוספו ב-Lifecycle2.3.0
וב-SavedState1.1.0
כדי להחזיר את הפעילות עם הערכיםLifecycleOwner
,ViewModelStoreOwner
ו-SavedStateRegistryOwner
של כל תצוגה מפורטת שנוספה ישירות אלComponentActivity
.
- reportFullyDrawn() – השיטה
Activity
שלreportFullyDrawn()
הועברה למצב הקודם ב-ComponentActivity
כדי לפעול בכל רמות ה-API, לתקן קריסה ב-API 19 ולהוסיף מעקב לשיטה הזו בכל רמות ה-API.
גרסה 1.2.0-rc01
16 בדצמבר 2020
androidx.activity:activity:1.2.0-rc01
ו-androidx.activity:activity-ktx:1.2.0-rc01
שוחררו. גרסה 1.2.0-rc01 מכילה את שמירות האלה.
תיקוני באגים
- מעכשיו,
ActivityResultRegistry
תמיד ישחזר את המצב המדויק שנשמר. (Idd56b) - הוספת מעקב ל-
ComponentActivity.reportFullyDrawn
(Ic7632)
תרומה חיצונית
ComponentActivity
מבטל עכשיו אתreportFullyDrawn()
, מאפשר לקרוא אותו בכל רמות ה-API ולתקן קריסה במהלך קריאה לשיטה הזו ללא הרשאת המערכת המתאימה במכשירי API 19. תודה, סיימון שילר! (b/163239764, #103)
גרסה 1.2.0-beta02
2 בדצמבר, 2020
androidx.activity:activity:1.2.0-beta02
ו-androidx.activity:activity-ktx:1.2.0-beta02
שוחררו. גרסה 1.2.0-beta02 מכילה את התחייבויות אלה.
תיקוני באגים
- תוקנה בעיה שבה Activity result API
לא ימתין שמחזור החיים יהיה
STARTED
לפני ומספקות תוצאות כשנרשמים ב-Lifecycle
. (I109ea)
תרומה חיצונית
- עדכנת את התיעוד לגבי
launch()
כדי לציין במפורש שהוא יכול להקפיץActivityNotFoundException
. תודה מיכאל ז'לינסקי! (aosp/1493580)
גרסה 1.2.0-beta01
1 באוקטובר 2020
androidx.activity:activity:1.2.0-beta01
ו-androidx.activity:activity-ktx:1.2.0-beta01
שוחררו. גרסה 1.2.0-beta01 מכילה את התחייבויות אלה.
תיקוני באגים
הפונקציה
ActivityResultRegistry
יוצרת עכשיו מספרים שלמים באופן אקראי עד שהיא מוצאת מספרים שלמים שלא הוקצו לשימוש כקוד בקשהregister()
, וכך מונעת חריגה אפשרית של מספרים שלמים שנגרמות כתוצאה מהגדלה של קודי הבקשות. (b/168779518)התצפית של
Lifecycle
הוסרה כמו שצריך כשמתקשרים ל-unregister()
ב-ActivityResultLauncher
. (b/165608393)
שינויים בהתנהגות
- המערכת של
ActivityResultRegistry
מקפיצה עכשיוIllegalStateException
בניסיון להתקשר אלregister()
עםLifecycleOwner
שהLifecycle
שלו כבר הגיע ל-STARTED
. (b/165435866)
המסמכים עודכנו
- מסמכי התיעוד של
ContextAware
כוללים קישורים אלLifecycleOwner
כדי להדגיש קריאות חוזרות (callback) שלLifecycle
בתור המקום המתאים לאירועי יצירה והשמדה. (aosp/1414152)
גרסה 1.2.0-alpha08
19 באוגוסט 2020
androidx.activity:activity:1.2.0-alpha08
ו-androidx.activity:activity-ktx:1.2.0-alpha08
שוחררו. גרסה 1.2.0-alpha08 מכילה את התחייבויות אלה.
תכונות חדשות
- ב-
ComponentActivity
מוטמע עכשיוContextAware
, וכך אפשר להוסיף מופעOnContextAvailableListener
אחד או יותר שיקבלו קריאה חוזרת לפניActivity.onCreate()
בבסיס. (b/161390636)- תוסף Kotlin עם השעיה
withContextAvailable()
מאפשר להפעיל בלוק שלא מושעה כשההקשר הופך לזמין ולהחזיר תוצאה. (I8290c) - ה-API הזה משמש את
FragmentActivity
ב-Fragment 1.3.0-alpha08 כדי לשחזר את המצב שלFragmentManager
. מאזינים שנוספו למחלקות המשנה שלFragmentActivity
יפעלו אחרי המאזינים האלה. (I513da) - ה-API הזה משמש את
AppCompatActivity
ב-AppCompat 1.3.0-alpha02. מאזינים שנוספו למחלקות המשנה שלAppCompatActivity
יפעלו אחרי המאזינים האלה. (I513da)
- תוסף Kotlin עם השעיה
תיקוני באגים
- תוקנה בעיה בבדיקת איתור השגיאות בקוד של
ActivityResultFragmentVersionDetector
, שגרמה לשיבושים במהלך שימוש ב-lint מגרסה 27.1.0 ואילך. (b/162155191)
גרסה 1.2.0-alpha07
22 ביולי 2020
androidx.activity:activity:1.2.0-alpha07
ו-androidx.activity:activity-ktx:1.2.0-alpha07
שוחררו. גרסה 1.2.0-alpha07 מכילה את התחייבויות אלה.
תכונות חדשות
- נוספה בדיקה חדשה של
InvalidFragmentVersionForActivityResult
לאיתור שגיאות בקוד, שמאמתת שמשתמשים ב-Fragment1.3.0-alpha07
בזמן השימוש ב-Activity result API, כדי למנוע קריסות בסביבת זמן הריצה שנובעות מבעיות מסוג 'קוד בקשה לא תקין' ומבקשות הרשאה לא מתפקדות שנגרמו על-ידי שימוש בגרסאות ישנות של Fragments. (b/152554847)
תרומה חיצונית
- תוקן
ArrayIndexOutOfBoundsException
כאשר ניתוח התוצאות לגבי הפעילות עםRequestPermission
חוזה התוצאה. (I8f9e3, b/161057605)
גרסה 1.2.0-alpha06
10 ביוני 2020
androidx.activity:activity:1.2.0-alpha06
ו-androidx.activity:activity-ktx:1.2.0-alpha06
שוחררו. גרסה 1.2.0-alpha06 מכילה את התחייבויות אלה.
תכונות חדשות
- עכשיו אפשר להשמיד את הכיתה
ActivityResult
בקוטלין לגשת ישירות אלrequestCode
ואלintent
. (b/157212935) ActivityResultLauncher
מאפשר לך לקבל עכשיוActivityResultContract
ששימש לרישום מרכז האפליקציות. (b/156875743)
שינויים ב-API
- שינוי בעייתי: השם של ה-method
invoke()
ב-ActivityResultRegistry
השתנה ל-onLaunch()
. (b/157496491) - החוזה של
OpenMultipleDocuments
מחזיר עכשיו רשימה ריקה במקוםnull
לקריאה החוזרת הרשומה אם לא מוחזרת תוצאה. (b/157348014)
גרסה 1.2.0-alpha05
20 במאי 2020
androidx.activity:activity:1.2.0-alpha05
ו-androidx.activity:activity-ktx:1.2.0-alpha05
שוחררו. גרסה 1.2.0-alpha05 מכילה את התחייבויות אלה.
תכונות חדשות
- נוספה תמיכה ב-
ViewTreeViewModelStoreOwner
מ-דוחות מחזור חיים2.3.0-alpha03
וב-ViewTreeSavedStateRegistryOwner
מ-SavedState1.1.0-alpha01
כשמשתמשים ב-View
בתוךComponentActivity
. (aosp/1297993, aosp/1300264)
שינויים ב-API
- החוזה של
TakePicture
מחזיר עכשיו ערך מסוגboolean
שמציין הצלחה, ולא תמונה ממוזערתBitmap
, כי רק לעיתים רחוקות מאוד יש תמיכה באפשרות הזו באפליקציות המצלמה בכתיבת התמונה ל-Uri
שסופק. (b/154302879) - התוספים
invoke()
ב-ActivityResultLauncher
הוסרו לטובת שימוש מפורש ב-launch()
כדי לציין טוב יותר שאלה פעולות אסינכרוניות. תוספי Kotlin ל-launch
נוספו לחבילתandroidx.activity.result
עבורActivityResultLauncher<Void>
ו-ActivityResultLauncher<Unit>
, שמבטלים את הצורך להעביר ב-null
או ב-Unit
, בהתאמה, ומשקפים את ההתנהגות הזו מהתוספיםinvoke()
הקודמים. (aosp/1304674, aosp/1304675) - ה-methods
IntentSenderRequest.Builder
עבורsetFlagsMask()
ו-setFlagsValues()
שולבו לשיטה אחת מסוגsetFlags()
. (aosp/1302111)
תיקוני באגים
- במהלך רישום של
ActivityResultCallback
דרךLifecycleOwner
, תוקנה בעיה שבה הקריאה החוזרת (callback) תופעל לפני שהמצב יגיע אלSTARTED
. (aosp/1309744)
שינויים בהתנהגות
- הרכיב
ActivityResultRegistry
יוצר עכשיו קודי בקשות החל מ-0xFFFF
במקום ב-0
, כך שהוא מונע חפיפה בשימוש ב-startActivityForResult()
או ב-requestPermissions()
בפעילות. (aosp/1302324)
גרסה 1.2.0-alpha04
29 באפריל 2020
androidx.activity:activity:1.2.0-alpha04
ו-androidx.activity:activity-ktx:1.2.0-alpha04
שוחררו. גרסה 1.2.0-alpha04 מכילה את התחייבויות אלה.
תכונות חדשות
- נוסף חוזה שיכול לקרוא ל-startIntentSenderForAmount לממשקי ה-API של ActivityActivity. (b/153007517)
שינויים ב-API
- השם של ה-method
prepareCall()
השתנה ל-registerForActivityResult()
, גם ב-ComponentActivity
כאן וגם במקטע1.3.0-alpha04
. (aosp/1278717) - השמות של החוזים הבאים:
GetContents
,OpenDocuments
ו-RequestPermissions
, ועכשיו הםGetMultipleContents
,OpenMultipleDocuments
ו-RequestMultiplePermissions
, בהתאמה. (aosp/1280161) ComponentActivity
מטמיע את הממשקActivityResultRegisteryOwner
. (aosp/1290888)- - ממשקי ה-API של
startActivityForResult()
/onActivityResult()
ו-onRequestPermissionsResult()
ב-ComponentActivity
הוצאו משימוש. צריך להשתמש ב-Activity results API. (b/154751887)
תיקוני באגים
- כשמשתמשים בחוזים של
GetMultipleContents
ו-OpenMultipleDocuments
ובוחרים פריט אחד, הוא מוחזר כראוי לקריאה החוזרת (callback). (b/152941153)
גרסה 1.2.0-alpha03
1 באפריל, 2020
androidx.activity:activity:1.2.0-alpha03
ו-androidx.activity:activity-ktx:1.2.0-alpha03
שוחררו. גרסה 1.2.0-alpha03 מכילה את התחייבויות אלה.
תכונות חדשות
- נוספו החוזים מסוג
TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
ו-CreateDocument
לקבוצת החוזים שהוגדרו מראש שסופקו על ידיActivityResultContracts
. (aosp/1262482, aosp/1266916, aosp/1268960) - ממשקי Activity result API תומכים עכשיו בהפעלת פעילות עבור תוצאות עם
ActivityOptionsCompat
אופציונלי. (b/151860054)
שינויים ב-API
- החוזה של
TakePicture
כולל עכשיו קלט מסוגUri
למקום שבו צריך לאחסן את התמונה. השם של החוזה הקודם שלא מקבל קלט השתנה ל-TakePicturePreview
. (aosp/1262482) - השם של ה-method
registerActivityResultCallback()
ב-ActivityResultRegistry
השתנה ל-register()
. (aosp/1267621) - השם של ה-method
dispose()
ב-ActivityResultLauncher
שונה ל-unregister()
וה-unregisterResultCallback()
ב-ActivityResultRegistry
הוסרה. (aosp/1267621) - השיטה
createIntent()
שלActivityResultContact
לוקחת עכשיוContext
בנוסף לקלט, כדי לאפשר יצירה של מנגנוני Intent מפורשים. (aosp/1238800) - עכשיו
ActivityResultContract
יכול לשנות את הערך שלgetSynchronousResult()
כדי לספק תוצאה בלי להתקשר אלstartActivityForResult
. רמת הגישה הזו משמשת את החוזים שלRequestPermission
ושלRequestPermissions
כדי להעביר באופן תקין סטטוס 'הוענק' אם ההרשאות המבוקשות כבר הוענקו. (b/151110799) - החוזה של
Dial
שהיה זמין בעבר הוסר כיIntent
לא מיועדת לשימוש עםstartActivityForResult()
. (aosp/1266916) - רבים מממשקי ה-API של תוצאות הפעילות שלא אמורים להרחיב הם עכשיו
final
. למשל,getActivityResultRegistry()
, ה-methodsprepareCall()
, כל השיטות שלActivityResultRegistry
מלבדinvoke()
, ומספר חוזי ברירת מחדל שלא תומכים בתוספות אופציונליות. (b/152439361)
תיקוני באגים
- בוצע תיקון
NullPointerException
ב-ActivityResultRegistry
במהלך ניסיון לספק תוצאות לקריאה חוזרת (callback) שעדיין לא נרשמה מחדש לאחר שינוי הגדרה.ActivityResultRegistry
שומר עכשיו את התוצאות הממתינות ושולח אותן לאחר ההרשמה מחדש של הקריאה החוזרת. (b/152137004)
גרסה 1.2.0-alpha02
18 במרץ 2020
androidx.activity:activity:1.2.0-alpha02
ו-androidx.activity:activity-ktx:1.2.0-alpha02
שוחררו. גרסה 1.2.0-alpha02 מכילה את התחייבויות אלה.
תכונות חדשות
- Activity resultRegistry:
ComponentActivity
כולל עכשיוActivityResultRegistry
שמאפשר לטפל בתהליכיstartActivityForResult()
+onActivityResult()
וגםrequestPermissions()
+onRequestPermissionsResult()
בלי לבטל את השיטות ב-Activity או ב-Fragment, ומשפר את בטיחות הסוגים באמצעותActivityResultContract
, ומספק קטעי הוק (hooks) לבדיקת התהליכים האלה. מומלץ לעיין בגרסה המעודכנת של קבלת תוצאה מפעילות. (b/125158199)
גרסה 1.2.0-alpha01
4 במרץ, 2020
androidx.activity:activity:1.2.0-alpha01
ו-androidx.activity:activity-ktx:1.2.0-alpha01
שוחררו. גרסה 1.2.0-alpha01 מכילה את התחייבויות אלה.
תכונות חדשות
- נוספה תמיכה ב-API של
ViewTreeLifecycleOwner.get(View)
במסגרת מחזור החיים2.3.0-alpha01
, כך שאפשר יהיה להחזיר את הפעילות בתורLifecycleOwner
לכל תצוגה מפורטת שנוספו ישירות לפעילות. (aosp/1182955)
תיקוני באגים
- תוקנה רגרסיה שהופעלה בקטע 'פעילות
1.1.0
' כשמריצים גרסאות ישנות יותר של הפלטפורמה, שבהןonBackPressed()
יגרום לIllegalStateException
בגלל באג ב-android.app.FragmentManager
. (b/146290338)
גרסה 1.1.0
גרסה 1.1.0
22 בינואר, 2020
androidx.activity:activity:1.1.0
משוחרר. גרסה 1.1.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.0.0
- שילוב של מצב SaveState של תצוגת מחזור החיים:
SavedStateViewModelFactory
הוא עכשיו היצרן המוגדר כברירת מחדל לשימוש ב-by viewModels()
, ב-constructor שלViewModelProvider
או ב-ViewModelProviders.of()
עםComponentActivity
או עם מחלקות המשנה שלו.
גרסה 1.1.0-rc03
4 בדצמבר 2019
androidx.activity:activity:1.1.0-rc03
ו-androidx.activity:activity-ktx:1.1.0-rc03
שוחררו. גרסה 1.1.0-rc03 מכילה את ההתחייבויות האלה.
שינויים בתלות
- הפעילות תלויה עכשיו במחזור החיים
2.2.0-rc03
וב-SavedState של תצוגת מחזור החיים1.0.0-rc03
.
גרסה 1.1.0-rc02
7 בנובמבר 2019
androidx.activity:activity:1.1.0-rc02
ו-androidx.activity:activity-ktx:1.1.0-rc02
שוחררו. גרסה 1.1.0-rc02 מכילה את ההתחייבויות האלה.
שינויים בתלות
- הפעילות תלויה עכשיו במחזור החיים
2.2.0-rc02
.
גרסה 1.1.0-rc01
23 באוקטובר 2019
androidx.activity:activity:1.1.0-rc01
ו-androidx.activity:activity-ktx:1.1.0-rc01
שוחררו ללא שינויים מ-1.1.0-beta01
. גרסה 1.1.0-rc01 מכילה את ההתחייבויות האלה.
גרסה 1.1.0-beta01
9 באוקטובר 2019
androidx.activity:activity:1.1.0-beta01
ו-androidx.activity:activity-ktx:1.1.0-beta01
שוחררו. גרסה 1.1.0-beta01 מכילה את התחייבויות אלה.
שינויים בתלות
- הפעילות תלויה עכשיו ב-SavedState 1.0.0.
גרסה 1.1.0-alpha03
5 בספטמבר 2019
androidx.activity:activity:1.1.0-alpha03
ו-androidx.activity:activity-ktx:1.1.0-alpha03
שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
תכונות חדשות
- הפעילות תלויה עכשיו ביציבות של Core 1.1.0.
תיקוני באגים
- הפעילות תלויה עכשיו במחזור החיים
2.2.0-alpha04
.
גרסה 1.1.0-alpha02
7 באוגוסט 2019
androidx.activity:activity:1.1.0-alpha02
ו-androidx.activity:activity-ktx:1.1.0-alpha02
שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
תכונות חדשות
SavedStateViewModelFactory
הוא עכשיו היצרן המוגדר כברירת מחדל כשמשתמשים ב-by viewModels()
, ב-constructor שלViewModelProvider
או ב-ViewModelProviders.of()
עםComponentActivity
(b/135716331)
גרסה 1.1.0-alpha01
2 ביולי 2019
androidx.activity:activity:1.1.0-alpha01
ו-androidx.activity:activity-ktx:1.1.0-alpha01
שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
תכונות חדשות
activity
תלוי עכשיו במחזור החיים2.2.0-alpha02
. (aosp/1007817)activity-ktx
הוסיפה תלות ב-lifecycle-runtime-ktx
; כבר לא צריך להוסיף אותו באופן מפורש ליחסי התלות בזמן השימוש ב-activity-ktx
או בספריות שתלויות ב-activity-ktx
(כמוfragment-ktx
). (aosp/987162)
גרסה 1.0.0
גרסה 1.0.0
5 בספטמבר 2019
androidx.activity:activity:1.0.0
ו-androidx.activity:activity-ktx:1.0.0
שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
התכונות העיקריות של גרסה 1.0.0
- ComponentActivity:
ComponentActivity
משמש כסיווג הבסיס החדש שלFragmentActivity
ב-Fragment1.1.0
, וכתוצאה מכךAppCompatActivity
ב-AppCompat1.1.0
. - activity-ktx: המודול
activity-ktx
כולל סיומתby viewModels
של נכס Kotlin לגישה ל-ViewModels. המודול הזה נכלל באופן אוטומטי כאשר כוללים אתfragment-ktx
מ-Fragment1.1.0
. - OnBackClickedDispatcher: כחלופה קומפוזבילית לשינוי של
onBackPressed()
, עכשיו אפשר לרשוםOnBackPressedCallback
מכלLifecycleOwner
(כמו מקטע) כדי ליירט אירועים של לחצן 'הקודם' של המערכת. lambda עם גרסת המקבלaddCallback
נוספה אלactivity-ktx
. פרטים נוספים זמינים במאמר הוספת תיעוד מותאם אישית של ניווט אחורה. - הוצאה משימוש של onRetainCustomNonConfigurationInstance: ממשקי ה-API
onRetainCustomNonConfigurationInstance()
וממשקי ה-API הקשורים שלהםgetLastCustomNonConfigurationInstance()
הוצאו משימוש. מומלץ מאוד להשתמש ב-ViewModels כדי לאחסן מצבים ללא הגדרה, כי הם מציעים פתרון קומפוזבילי שמתאים לכלViewModelStoreOwner
, כך שהבעלות על האובייקטים שנשמרו תהיה ברורה ומספקת קריאה חוזרת (callback) שלonCleared()
לניקוי משאבים כשהפעילות מושמדת.
גרסה 1.0.0-rc01
2 ביולי 2019
androidx.activity:activity:1.0.0-rc01
ו-androidx.activity:activity-ktx:1.0.0-rc01
שוחררו ללא שינויים מ-1.0.0-beta01
. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
גרסה 1.0.0-beta01
5 ביוני 2019
androidx.activity::activity:1.0.0-beta01
ו-androidx.activity:activity-ktx:1.0.0-beta01
שוחררו ללא שינויים מ-1.0.0-alpha08
. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
גרסה 1.0.0-alpha08
7 במאי 2019
androidx.activity:activity:1.0.0-alpha08
ו-androidx.activity:activity-ktx:1.0.0-alpha08
שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
שינויים ב-API
- שינוי תוכנה שעלול לגרום לכשל: השיטות
addOnBackPressedCallback
ו-removeOnBackPressedCallback
שהוצאו בעבר משימוש ב-ComponentActivity
הוסרו. aosp/953857 - השיטות
setEnabled()
ו-isEnabled()
שלOnBackPressedCallback
הן סופיות עכשיו. b/131416833 - השיטה
remove()
שלOnBackPressedCallback
היא סופית. aosp/952720 - ב-
OnBackPressedDispatcher
יש עכשיו constructors ציבוריים שמאפשרים לך ליצור מכונות משלך לבדיקה, וכו' aosp/953431 - השדה
onBackPressed()
עבורComponentActivity
מסומן עכשיו באופן מפורש כ-@MainThread
aosp/952721
תיקוני באגים
- תוקנו
ConcurrentModificationException
בקריאה ל-remove()
מתוך ה-methodhandleOnBackPressed()
שלOnBackPressedCalback
שהתווסף עםLifecycleOwner
. b/131765095
גרסה 1.0.0-alpha07
25 באפריל 2019
androidx.activity:activity:1.0.0-alpha07
ו-androidx.activity:activity-ktx:1.0.0-alpha07
שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
שינויים ב-API
בגרסה הזו מתבצעים שינויים משמעותיים בטיפול בonBackPressed()
. פרטים נוספים זמינים במסמכי התיעוד המעודכנים בנושא התאמה אישית.
- השיטות עבור
OnBackPressedCallback
ו-OnBackPressedDispatcher
סומנו כ-@MainThread
. (aosp/943813) - ה-method
handleOnBackPressed()
לא מחזירה יותרboolean
. במקום זאת,OnBackPressedCallback
הוא עכשיו מחלקה מופשטת שאפשר להפעיל או להשבית – רק כששיטתisEnabled()
החדשה מחזירה True, תיקראhandleOnBackPressed()
, וכתוצאה מכך חובה ללחוץ על לחצן 'הקודם'. (aosp/944518) - ה-methods
addCallback
שלOnBackPressedDispatcher
לא מחזירות יותר מופעCancellable
.OnBackPressedCallback
כוללים עכשיו שיטתremove()
שממלאת את הפונקציונליות הזו, ומאפשרת לך לקרוא ל-remove()
במהלךhandleOnBackPressed()
. (aosp/944519) (aosp/946316) activity-ktx
מכיל עכשיו קריאה חוזרת ברמת הנמען עבורaddCallback
שמקבלת lamdba שמטמיעה אתhandleOnBackPressed()
ויש לה גישה אלisEnabled
ואלremove()
(aosp/944520)
גרסה 1.0.0-alpha06
3 באפריל 2019
androidx.activity:activity:1.0.0-alpha06
ו-androidx.activity:activity-ktx:1.0.0-alpha06
שוחררו. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
שינויים ב-API
- ComponentActivity מכיל עכשיו constructor נוסף של
@LayoutRes int
, שמחליף את ההתנהגות הקודמת של הוספת הערות למחלקה AppCompatActivity בכיתוב@ContentView
. הגישה הזו עובדת גם במודולים של אפליקציות וגם במודולים של ספריות. (b/128352521) - ממשקי ה-API הקשורים ל-
OnBackPressedCallback
ב-ComponentActivity הוצאו משימוש ותואמים לממשק החדש שלOnBackPressedDispatcher
, שניתן לאחזר דרךgetOnBackPressedDispatcher()
. (aosp/922523) - שיטות להוספת
OnBackPressedCallback
חדש ל-OnBackPressedDispatcher
מחזירות עכשיו אובייקטCancellable
, שמאפשרות הסרה של הקריאה החוזרת בלי לדרוש הפניה מפורשת ל-OnBackPressedDispatcher
. (aosp/922523) - הוספה של
OnBackPressedCallback
עםLifecycleOwner
משויך עכשיו, תוביל להוספה ולהסרה שלOnBackPressedCallback
כשמחזור החיים מתחיל ומופסק, בהתאמה. (aosp/922523)
גרסה 1.0.0-alpha05
13 במרץ 2019
androidx.activity:activity:1.0.0-alpha05
והקבוצה
androidx.activity:activity-ktx:1.0.0-alpha05
שוחררו. רשימת ההתחייבויות המלאה
שכלולות בגרסה הזו, אפשר למצוא כאן.
תכונות חדשות
- חיפושי הערות ב-
@ContentView
שמורים עכשיו במטמון (b/123709449)
גרסה 1.0.0-alpha04
30 בינואר 2019
androidx.activity:activity 1.0.0-alpha04
ו-androidx.activity:activity-ktx 1.0.0-alpha04
משוחררים.
תכונות חדשות
- נוספה תמיכה בהערת המחלקה
@ContentView
שמאפשרת לציין איזה קובץ XML של הפריסה צריך להגדיל כחלופה לשימוש ב-setContentView()
. (aosp/837619)
שינויים ב-API
- נוספה הערה שלפיה אין לבטל את המדיניות
getViewModelStore()
, והנוסחה תהיה סופית בגרסה עתידית. אם אתם משנים את השיטה הזו, צריך להגיש בקשה להוספת תכונה. (aosp/837619)
תיקוני באגים
- המודול
activity
תלוי עכשיו בגרסה 2.1.0-alpha02 של ViewModel כדי להתאים לתלות של המודולactivity-ktx
.
גרסה 1.0.0-alpha03
17 בדצמבר 2018
androidx.activity 1.0.0-alpha03
משוחרר.
תכונות חדשות
- ב-ComponentActivity מוטמע
BundleSavedStateRegistryOwner
ותלוי בספרייתSavedState החדשה [aosp/815133] - רכיב ComponentActivity מטפל עכשיו בבאג של framework ב-Android שיגרום ל-inputMethodManager להדליף את התצוגה המטורגטת האחרונה [b/37122102]
גרסה 1.0.0-alpha02
3 בדצמבר 2018
שינויים ב-API
- נוספה הערה שלפיה אין לבטל את
getLifecycle()
, והוא יימסרfinal
בגרסה עתידית. צריך לשלוח תכונה בקשה אם מבטלים כרגע את השיטה הזו. (aosp/815834)
גרסה 1.0.0-alpha01
5 בנובמבר 2018
androidx.activity 1.0.0-alpha01
השקות
ComponentActivity
, מחלקה בסיסית חדשה של FragmentActivity
הקיים
AppCompatActivity
תכונות חדשות
- עכשיו אפשר לרשום
OnBackPressedCallback
דרךaddOnBackPressedCallback
כדי לקבלonBackPressed()
קריאות חוזרות (callback) בלי לשנות את השיטה. בפעילות שלכם. - נוסף נציג מורשה חדש לנכס ב-
by viewModels()
Kotlin לאחזורViewModel
מ-ComponentActivity
. - אירועי קלט (כמו קליקים) בהמתנה מבוטלים עכשיו ב-
onStop()
.
שינויים ב-API
- ההטמעה של
LifecycleOwner
ו-ViewModelStoreOwner
הסתיימה הועבר מ-FragmentActivity
אלComponentActivity
. - האפשרות
onRetainCustomNonConfigurationInstance
הוצאה משימוש. צריך להשתמש בViewModel
לאחסון אובייקטים שצריכים לשרוד שינויים בהגדרה.