Savedstate
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסה אלפא |
---|---|---|---|---|
30 באוקטובר 2024 | 1.2.1 | - | - | 1.3.0-alpha04 |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-SavedState, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle
של האפליקציה או המודול:
Groovy
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.2.1" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.2.1" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.2.1") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.2.1") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.
משוב
המשוב שלך עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במסמכי התיעוד של Issue Tracker.
גרסה 1.3
גרסה 1.3.0-alpha04
30 באוקטובר 2024
androidx.savedstate:savedstate-*:1.3.0-alpha04
משוחרר. גרסת 1.3.0-alpha04 מכילה את ההוספות האלה.
שינויים ב-API
- SavedState KMP תומך עכשיו ב-Char. (I9ac2f, b/334076622)
- צריך להוסיף את
putNull
ואתisNull
ל-KMP של SavedState. (Iea71d, b/334076622) - צריך להוסיף עוד
savedState
פרמטרים להגדרות המקוריות שתומכים ב-Map<String, Any>
ראשוני (I9b37d, b/334076622) - עכשיו יש תמיכה בהשוואה של
contentDeepEquals
ב-SavedState KMP. (Ia515c, b/334076622) - ב-SavedState KMP יש עכשיו תמיכה ב-Long. (I4c180, b/334076622)
גרסה 1.3.0-alpha03
16 באוקטובר 2024
androidx.savedstate:savedstate-*:1.3.0-alpha03
פורסם ללא שינויים משמעותיים. גרסת 1.3.0-alpha03 מכילה את ההוספות האלה.
גרסה 1.3.0-alpha02
2 באוקטובר 2024
androidx.savedstate:savedstate-*:1.3.0-alpha02
משוחרר. גרסת 1.3.0-alpha02 כוללת את ההוספות האלה.
Kotlin Multiplatform
- המודול
SavedState
תואם עכשיו ל-KMP. הפלטפורמות הנתמכות כוללות עכשיו סביבות שולחן עבודה של Android, iOS, Linux, Mac ו-JVM. (I26305, b/334076622)
תכונות חדשות
- הצגת סוג אטום
SavedState
כאבסוקציה כדי לספק דרך עקבית לשמירה ולשחזור של מצב האפליקציה ב-KMP. הוא כולל אתSavedStateReader
ו-SavedStateWriter
לשינוי המצב שרוצים לשמור. ב-Android,SavedState
הוא כינוי של סוג בשבילBundle
, מה שמבטיח תאימות בינארית ומאפשר העברה של ממשקי API קיימים לקבוצת מקור משותפת. בפלטפורמות אחרות,SavedState
הוא מכונה שלMap<String, Any>
. (I18575, b/334076622)
// Create a new SavedState object using the savedState DSL:
val savedState = savedState {
putInt("currentPage", 1)
putString("filter", "favorites")
}
// Read from a SavedState object
val currentPage = savedState.read { getInt("currentPage") }
// Edit an existing SavedState object
savedState.write {
remove("currentPage")
}
שינויים ב-API
SavedStateRegistry
ו-SavedStateRegistryController
תואמים עכשיו ל-KMP. (Id7bb8, b/334076622)SavedState
,SavedStateWriter
ו-SavedStateReader
תואמים עכשיו ל-KMP. (I26305, b/334076622)
גרסה 1.3.0-alpha01
7 באוגוסט 2024
androidx.savedstate:savedstate:1.3.0-alpha01
ו-androidx.savedstate:savedstate-ktx:1.3.0-alpha01
משוחררים. גרסה 1.3.0-alpha01 מכילה את התחייבויות אלה.
שינויים ב-API
- התוספים של
savedstate-ktx
ל-Kotlin הועברו למעכשיו למודול הבסיסי של savedstate. (I1cc18, b/274803094)
הערה
- עדכון
compileSdk
ל-35 (5dc41be)
גרסה 1.2.1
גרסה 1.2.1
22 במרץ 2023
androidx.savedstate:savedstate:1.2.1
ו-androidx.savedstate:savedstate-ktx:1.2.1
שוחררו. גרסה 1.2.1 מכילה את השמירות האלה.
עדכוני יחסי תלות
- עכשיו
SavedState
תלוי ב-Lifecycle2.6.1
. (c1f621)
גרסה 1.2.0
גרסה 1.2.0
29 ביוני 2022
androidx.savedstate:savedstate:1.2.0
ו-androidx.savedstate:savedstate-ktx:1.2.0
שוחררו. גרסה 1.2.0 מכילה את ההוספות האלה.
שינויים חשובים מאז גרסה 1.1.0
SavedStateRegistryController
מאפשר עכשיו לצרף מוקדם אתSavedStateRegistry
דרךperformAttach()
.- עכשיו אפשר לאחזר
SavedStateProvider
שרשום ב-SavedStateRegistry
דרךgetSavedStateProvider()
. - ספריית
SavedState
נכתבה מחדש ב-Kotlin.- עבור
SavedStateRegistryOwner
, מדובר בשינוי שאינו תואם למקור עבור המחלקות שנכתבו ב-Kotlin. עכשיו יש לעקוף את המאפייןsavedStateRegistry
במקום להטמיע את הפונקציהgetSavedStateRegistry()
הקודמת. - ב-
ViewTreeSavedStateRegistryOwner
, זהו שינוי לא תואם למקור עבור הכיתות שנכתבו ב-Kotlin – עכשיו צריך לייבא ישירות את שיטות ההרחבה של Kotlin ב-View
שלandroidx.savedstate.setViewTreeSavedStateRegistryOwner
ו-androidx.savedstate.findViewTreeSavedStateRegistryOwner
ולהשתמש בהן כדי להגדיר ולמצוא בעלים שהוגדר בעבר. ה-API הזה מחליף את ה-API שלsavedstate-ktx
ב-findViewTreeSavedStateRegistryOwner
.
- עבור
שינויים בהתנהגות
SavedStateRegistry
לא שומר יותר חבילת Bundle ריקה אם אין מצב שצריך לשמור.
גרסה 1.2.0-rc01
11 במאי 2022
androidx.savedstate:savedstate:1.2.0-rc01
ו-androidx.savedstate:savedstate-ktx:1.2.0-rc01
משוחררים. גרסה 1.2.0-rc01 מכילה את שמירות האלה.
שינויים במסמכים
- המסמכים של
SavedStateRegistryOwner
Kdocs עודכנו כדי להבהיר את האחריות והחוזה שיש לבעלים לגבי האופן שבו צריך להטמיע את הממשק, או מתי צריך לקרוא ל-methods ב-SavedStateRegistryController
. (Iefc95, b/228887344)
גרסה 1.2.0-beta01
20 באפריל 2022
androidx.savedstate:savedstate:1.2.0-beta01
ו-androidx.savedstate:savedstate-ktx:1.2.0-beta01
משוחררים. גרסה 1.2.0-beta01 כוללת את ההצהרות האלה.
שינויים ב-API
- הכיתות
SavedStateRegistry
ו-ViewTreeSavedStateRegistryOwner
נכתבו מחדש ב-Kotlin. ב-ViewTreeSavedStateRegistryOwner
, זהו שינוי לא תואם למקור עבור הכיתות שנכתבו ב-Kotlin – עכשיו צריך לייבא ישירות את שיטות ההרחבה של Kotlin ב-View
שלandroidx.savedstate.setViewTreeSavedStateRegistryOwner
ו-androidx.savedstate.findViewTreeSavedStateRegistryOwner
ולהשתמש בהן כדי להגדיר ולמצוא בעלים שהוגדר בעבר. ה-API הזה מחליף את ה-API שלsavedstate-ktx
ב-findViewTreeSavedStateRegistryOwner
. הקוד הזה תואם לקוד הבינארי ותמיד תואם למקור של הטמעות שנכתבו בשפת התכנות Java. (b/220191285)
גרסה 1.2.0-alpha02
6 באפריל 2022
androidx.savedstate:savedstate:1.2.0-alpha02
ו-androidx.savedstate:savedstate-ktx:1.2.0-alpha02
משוחררים. גרסה 1.2.0-alpha02 מכילה את התחייבויות אלה.
תכונות חדשות
- עכשיו אפשר לאחזר
SavedStateProvider
שרשום ב-SavedStateRegistry
דרךgetSavedStateProvider()
. (I7ea47, b/215406268)
שינויים ב-API
- המחלקות
SavedStateRegistryOwner
,SavedStateRegistryController
ו-Recreator
נכתבו מחדש ב-Kotlin. עבורSavedStateRegistryOwner
, מדובר בשינוי שאינו תואם למקור עבור המחלקות שנכתבו ב-Kotlin. עכשיו יש לעקוף את המאפייןsavedStateRegistry
במקום להטמיע את הפונקציהgetSavedStateRegistry()
הקודמת. הספרייה תואמת לקבצים הבינאריים ולקוד המקור של הטמעות שנכתבו בשפת התכנות Java. (b/220191285)
גרסה 1.2.0-alpha01
26 בינואר, 2022
androidx.savedstate:savedstate:1.2.0-alpha01
ו-androidx.savedstate:savedstate-ktx:1.2.0-alpha01
משוחררים. גרסה 1.2.0-alpha01 כוללת את ההוספות האלה.
תכונות חדשות
- עכשיו אפשר לצרף את
SavedStateRegistry
מוקדם יותר באמצעותperformAttach()
ב-SavedStateRegistryController
. (Ice4bf)
שינויים בהתנהגות
- אם אין מצב לשמירה,
SavedStateRegistry
לא שומר יותר חבילה ריקה. (aosp/1896865, b/203457956)
גרסה 1.1.0
גרסה 1.1.0
10 בפברואר 2021
androidx.savedstate:savedstate:1.1.0
ו-androidx.savedstate:savedstate-ktx:1.1.0
שוחררו. גרסה 1.1.0 כוללת את השמירות האלה.
שינויים משמעותיים מאז גרסה 1.0.0
ViewTreeSavedStateRegistryOwner
API: ממשק API חדש שלViewTreeSavedStateRegistryOwner.get(View)
שמאפשר לאחזר אתSavedStateRegistry
שמכיל את המופע שלView
. כדי לאכלס את הנתונים בצורה נכונה, צריך לשדרג לפעילות1.2.0
, Fragment1.3.0
ו-AppCompat1.3.0-alpha01
ואילך.- ארטיפקט
savedstate-ktx
: הארטיפקט החדשsavedstate-ktx
נוסף עם תוסףfindViewTreeSavedStateRegistryOwner()
Kotlin לעבודה עםViewTreeSavedStateRegistryOwner
.
גרסה 1.1.0-rc01
16 בדצמבר 2020
הגרסאות androidx.savedstate:savedstate:1.1.0-rc01
ו-androidx.savedstate:savedstate-ktx:1.1.0-rc01
פורסמו ללא שינויים מאז 1.1.0-beta01
. גרסה 1.1.0-rc01 כוללת את השמירות האלה.
גרסה 1.1.0-beta01
1 באוקטובר 2020
הגרסאות androidx.savedstate:savedstate:1.1.0-beta01
ו-androidx.savedstate:savedstate-ktx:1.1.0-beta01
פורסמו ללא שינויים מאז 1.1.0-alpha01
. גרסה 1.1.0-beta01 כוללת את ההצהרות האלה.
גרסה 1.1.0-alpha01
20 במאי 2020
androidx.savedstate:savedstate:1.1.0-alpha01
ו-androidx.savedstate:savedstate-ktx:1.1.0-alpha01
משוחררים. גרסה 1.1.0-alpha01 כוללת את ההוספות האלה.
תכונות חדשות
- ממשק API חדש של
ViewTreeSavedStateRegistryOwner.get(View)
מאפשר לאחזר את ה-SavedStateRegistry
שמכיל את המופע שלView
. כדי לאכלס את השדה הזה בצורה נכונה, צריך לשדרג ל-Activity1.2.0-alpha05
, ל-Fragment1.3.0-alpha05
ול-AppCompat1.3.0-alpha01
. (aosp/1298679) - נוספה גרסת הארטיפקט החדשה
savedstate-ktx
עם תוסףfindViewTreeSavedStateRegistryOwner()
ל-Kotlin לעבודה עםViewTreeSavedStateRegistryOwner
. (aosp/1299434)
גרסה 1.0.0
גרסה 1.0.0
5 בספטמבר 2019
androidx.savedstate:savedstate:1.0.0
משוחרר. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
תכונות עיקריות של SavedState 1.0.0
androidx.savedstate
הועברה לגרסה יציבה. זוהי קבוצה של ממשקי API שמאפשרים למפתחים להוסיף רכיבים לתהליך השחזור או לשמירת ה-InstanceState. נקודת הכניסה הראשית של ה-API היא SavedStateRegistry
, שמספקת דרך לאחזר מצבים שנשמרו בעבר באמצעות consumeRestoredStateForKey
ולרשום קריאה חוזרת (callback) ל-registerSavedStateProvider
כדי לספק מצב שמור ברגע שהמערכת מבקשת זאת.
גרסה 1.0.0-rc01
2 ביולי 2019
androidx.savedstate:savedstate:1.0.0-rc01
משוחרר. כאן אפשר למצוא את ההתחייבויות (commits) שכלולות בגרסה הזו.
תיקוני באגים
- תוקן כלל שגוי של Proguard (b/132655499)
גרסה 1.0.0-beta01
7 במאי 2019
androidx.savedstate:savedstate:1.0.0-beta01
משוחרר. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.
גרסה 1.0.0-alpha02
13 במרץ 2019
androidx.savedstate:savedstate:1.0.0-alpha02
משוחרר. androidx.savedstate:savedstate
משלבת את הפריטים androidx.savedstate:savedstate-bundle
ו-androidx.savedstate:savedstate-common
לפריט אחד, כי הוחלט לפשט את התשתית של savedstate ולהסיר את הפריטים הכלליים מ-SavedStateRegistry
. לכן אין צורך במודולים נפרדים.
הרשימה המלאה של ההתחייבויות שכלולות בגרסה הזו זמינה כאן.
תכונות חדשות
- צירפנו את
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )
למרחב המשותף. הכיתה הנתונה תיווצר והשיטהAutoRecreated.onRecreated
תופעל כשהרכיב הבעלים יופעל מחדש.
שינויים ב-API
- תרופות גנריות הוסרו מ-
SavedStateRegistry<T>
- AbstractSavedStateRegistry ו-BundlableSavedStateRegistry הוסרו. במקום זאת, צריך להשתמש ב-
SavedStateRegistry
פשוט - השם של
BundleSavedStateRegistryOwner
השתנה ל-SavedStateRegistryOwner
גרסה 1.0.0-alpha01
17 בדצמבר 2018
זו הגרסה הראשונה של SavedState
.
תכונות חדשות
androidx.savedstate
היא קבוצה חדשה של ממשקי API בגרסת אלפא שמאפשרים למפתחים להוסיף רכיבים לתהליך השחזור או לשמירת ה-InstanceState. נקודת הכניסה הראשית של ה-API היא SavedStateRegistry<T>
, שמספקת דרך לאחזר מצב ששמור בעבר באמצעות consumeRestoredStateForKey
ולרשום קריאה חוזרת (callback) ל-registerSavedStateProvider
כדי לספק מצב ששמור ברגע שהמערכת מבקשת זאת.