הקפאת המצב לשיתוף
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 22 באוקטובר 2025 | 1.3.3 | 1.4.0-rc01 | - | - |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-SavedState, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
מגניב
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.3.3" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.3.3" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.3.3") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.3.3") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא הכלי למעקב אחר בעיות.
גרסה 1.4
גרסה 1.4.0-rc01
22 באוקטובר 2025
androidx.savedstate:savedstate-*:1.4.0-rc01 יוצא ללא שינויים מאז גרסה 1.4.0-beta01. גרסה 1.4.0-rc01 מכילה את הקומטים האלה.
גרסה 1.4.0-beta01
8 באוקטובר 2025
הגרסה androidx.savedstate:savedstate-*:1.4.0-beta01 הושקה ללא שינויים משמעותיים מאז גרסת האלפא האחרונה. גרסה 1.4.0-beta01 מכילה את הקומטים האלה.
גרסה 1.4.0-alpha03
27 באוגוסט 2025
androidx.savedstate:savedstate-*:1.4.0-alpha03 משוחרר. גרסה 1.4.0-alpha03 מכילה את הקומטים האלה.
שינויים ב-API
- הוספנו תמיכה בסוגים שניתן להגדיר כ-nullable ב-
encodeToSavedStateוב-decodeFromSavedState. (I79062, b/439527454) - עדכון של Compose לגרסה 1.9.0. (I2b9de)
גרסה 1.4.0-alpha02
13 באוגוסט 2025
androidx.savedstate:savedstate-*:1.4.0-alpha02 משוחרר. גרסה 1.4.0-alpha02 מכילה את הקומטים האלה.
גרסה 1.4.0-alpha01
30 ביולי 2025
androidx.savedstate:savedstate-*:1.4.0-alpha01 משוחרר. גרסה 1.4.0-alpha01 מכילה את הקומטים האלה.
שינויים ב-API
- הוספנו תמיכה מקורית בסוגים שניתן להגדיר כ-nullable ב-
SavedStateRegistryOwner.saved, כדי לפשט את השמירה והשחזור של מאפיינים שניתן להגדיר כ-nullable. (Ia632, b/421325690)
גרסה 1.3
גרסה 1.3.3
17 בספטמבר 2025
androidx.savedstate:savedstate-*:1.3.3 משוחרר. גרסה 1.3.3 מכילה את הקומטים האלה.
תיקוני באגים
- תוקנה שגיאה שקשורה לתוסף Compose Compiler שלא הוחל, שגרמה לשבירה של ארטיפקטים של
SavedStateKMP. (Id2290, b/443965665)
גרסה 1.3.2
27 באוגוסט 2025
androidx.savedstate:savedstate-*:1.3.2 משוחרר. גרסה 1.3.2 מכילה את הקומטים האלה.
תכונות חדשות
- הוספת יעדים חדשים של Kotlin Multiplatform (KMP) לארטיפקט SavedState
*-compose. המחזור תומך עכשיו בפלטפורמות הבאות: JVM (Android ומחשבים), Native (Linux, iOS, watchOS, macOS, MinGW) ו-Web (JavaScript, WasmJS). (/Idcf26)
גרסה 1.3.1
16 ביולי 2025
androidx.savedstate:savedstate-*:1.3.1 משוחרר. גרסה 1.3.1 מכילה את ההתחייבויות האלה.
תיקוני באגים
- מוסיפים את כל יעדי ה-KMP שנתמכים על ידי הערות ל-
SavedStateartifacts. - נוספו יעדים חדשים של Kotlin Multiplatform (KMP) לארטיפקטים של
SavedState. SavedStateתומך עכשיו בפלטפורמות הבאות: JVM (Android ומחשב), Native (Linux, iOS, watchOS, macOS, MinGW) ו-Web (JavaScript, WasmJS). שימו לב שלא נוספו יעדי KMP חדשים לאובייקטים*-compose, כי זה תלוי בגרסה היציבה של Compose 1.9. (I062f4).
גרסה 1.3.0
7 במאי 2025
androidx.savedstate:savedstate-*:1.3.0 משוחרר. גרסה 1.3.0 מכילה את הקומטים האלה.
שינויים חשובים מאז גרסה 1.2.0
- הפונקציה
LocalSavedStateRegistryOwnerהועברה מ-Compose UI למודול החדשsavedstate-compose, כדי שאפשר יהיה להשתמש בממשקי העזר שלה מבוססי-Compose מחוץ ל-Compose UI. תמיד צריך להשתמש ב-Modifier הזה כשמשתמשים ב-Compose UI1.9.0-alpha02ומעלה, אבל הוא תואם לאחור כך שאפשר להשתמש בו בכל הגרסאות של Compose. - התוספים של
savedstate-ktxkotlin הועברו עכשיו למודול הבסיסי של savedstate. - עכשיו אפשר לפתור מקרים של
SavedStateRegistryOwnerשאוחזרו באמצעותfindViewTreeSavedStateRegistryOwnerדרך הורים לא רציפים של תצוגה, כמוViewOverlay. מידע נוסף על הורים של תצוגות לא רציפות זמין בהערות הגרסה של ליבת או במאמרי העזרה בכתובתViewTree.setViewTreeDisjointParent.
Kotlin Multiplatform
- מודול
SavedStateתואם עכשיו ל-KMP. הפלטפורמות הנתמכות כוללות עכשיו את Android, iOS, Linux, Mac וסביבות שולחן עבודה של JVM. הוספנו את סוג הנתונים
SavedStateopaque כהפשטה כדי לספק דרך עקבית לשמירה ולשחזור של מצב האפליקציה ב-KMP. הוא כולל אתSavedStateReaderו-SavedStateWriterלשינוי המצב שצריך לשמור. ב-Android, SavedStateהוא כינוי לסוג שלBundle, שמבטיח תאימות בינארית ומקל על העברת ממשקי API קיימים לקבוצת מקורות משותפת. בפלטפורמות אחרות,SavedStateהוא מופע שלMap<String, Any>.// 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") }
תמיכה ב-KotlinX Serialization
SavedStateכולל עכשיו תמיכה ב-KotlinX Serialization. אפשר להמיר כיתה עם ההערה@Serializableל-SavedStateבאמצעות השיטותencodeToSavedStateו-decodeFromSavedState. הערךSavedStateשמוחזר הואBundleרגיל ב-Android, ואפשר להשתמש בו בכל API שמקבלSavedState.Bundle@Serializable data class Person(val firstName: String, val lastName: String) fun main() { val person = Person("John", "Doe") val encoded: SavedState = encodeToSavedState(person) val decoded: Person = decodeFromSavedState(encoded) }רוב הסוגים (כמו סוגים פרימיטיביים) נתמכים ישירות בלי צורך בהגדרה, אבל אפשר למצוא סדרות נוספות שאפשר להשתמש בהן עם
@Serializable(with = ___:class)בחבילהandroidx.savedstate.serialization.serializersבמודולsavedstateובחבילהandroidx.savedstate.compose.serialization.serializersבמודולsavedstate-compose.הוספנו גם את
saved, נציג מאפיינים עצלן, כדי שיהיה קל לאחסן מחלקות@Serializableב-SavedStateRegistryOwner(למשל, ComponentActivity,Fragmentוכו') ולגרום לשחזור אוטומטי של המחלקות האלה אחרי שהתהליך מסתיים ונוצר מחדש. חשוב לזכור שהנציגsavedהוא עצלן ולא יפעיל את פונקציית ה-lambdainitאו ישמור משהו ב-SavedStateRegistryעד שתהיה אליו גישה.@Serializable data class Person(val firstName: String, val lastName: String) class MyActivity : ComponentActivity() { var person by saved { Person("John", "Doe") } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) this.person = Person("Jane", "Doe") } }בנוסף, ב-Lifecycle
2.9.0נוסף נציג נכס דומהsavedעבורSavedStateHandle.
גרסה 1.3.0-rc01
23 באפריל 2025
androidx.savedstate:savedstate-*:1.3.0-rc01 משוחרר. גרסה 1.3.0-rc01 מכילה את הקומטים האלה.
גרסה 1.3.0-beta01
9 באפריל 2025
androidx.savedstate:savedstate-*:1.3.0-beta01 משוחרר. גרסה 1.3.0-beta01 מכילה את הקומטים האלה.
עדכונים של תלות
- הספרייה הזו מטרגטת עכשיו את רמת השפה Kotlin 2.0 ונדרשת KGP 2.0.0 או גרסה חדשה יותר. (Idb6b5)
גרסה 1.3.0-alpha11
26 במרץ 2025
הגרסה androidx.savedstate:savedstate-*:1.3.0-alpha11 הושקה ללא שינויים משמעותיים שגלויים לציבור. גרסה 1.3.0-alpha11 מכילה את הקומטים האלה.
גרסה 1.3.0-alpha10
12 במרץ 2025
androidx.savedstate:savedstate-*:1.3.0-alpha10 משוחרר. גרסה 1.3.0-alpha10 מכילה את הקומטים האלה.
תכונות חדשות
- הוספת וריאציות של שיטות שלא עברו רִיפִיקציה לאוספים של
getב-SavedStateReader. (I0b641, b/399820614) - הוספת
encodeDefaultsל-SavedStateConfiguration, כדי לאפשר התאמה אישית של קידוד מאפיינים עם ערכי ברירת מחדל. (I893cc, b/395104517) - מוסיפים את
SnapshotStateMapSerializerלתמיכה ב-mutableStateMapOf. (Ie6f19, b/378895074) - מוסיפים את
SnapshotStateListSerializerלתמיכה ב-mutableStateListOf. (I4d888, b/378895074) - הוספת
getOrNullשיטות חלופיות לגרסאותSavedStateReader.get. השיטות האלה יבצעו המרה אוטומטית של ערכים פרימיטיביים לאובייקטים. (I6228c, b/399820614)
שינויים ב-API
- הסרת
getOrElseמהחשבוןSavedStateReaderלטובתgetOrNull() ?: else(). (I87317, b/399820614) - הסרת שינוי
inlineמהשיטותSavedStateReaderו-SavedStateWriter. (If2a02, b/399820614) - הסרה של סדרות (serializers) מובנות של רשימות ומערכים ספציפיים ל-Android מ-API ציבורי (Ida293)
- החלפה של
SparseParcelableArraySerializerב-SparseArraySerializer(I91de8) - כדי שכל הפונקציות
SavedStateReader.getיתנהגו באופן עקבי, הן יחזירו שגיאה אם סוג הערך לא תואם לסוג ההחזרה (I78c4a, b/399317598) - שינוי השם של
SavedState*DelegatesלSavedState*Delegate. (I8589b, b/399629301) - שינוי השם של
SavedStateConfigלSavedStateConfiguration. (I043a5, b/399629301)
גרסה 1.3.0-alpha09
26 בפברואר 2025
androidx.savedstate:savedstate-*:1.3.0-alpha09 משוחרר. גרסה 1.3.0-alpha09 מכילה את ההעברות האלה.
תכונות חדשות
- הוספת חזרה לערך ברירת מחדל לסוגים מובנים, כדי להבטיח שכל הסוגים שנתמכים על ידי
Bundleיוכלו לשמש עםencodeAsSavedState/decodeFromSavedStateכברירת מחדל, או למאפיינים במחלקות@Serializable, באמצעות ההערה@Contextual. (Ic01d2) - כולל תמיכה ב-
classDiscriminatorוב-classDiscriminatorModeב-SavedStateConfig. (I69b66, b/395104517)
שינויים ב-API
- הוספת הפרמטר
SavedStateConfigלנציגיsaved()(I39b3a) - הופך סדרות מובנות לאובייקטים מסוג singleton (Ifeee4)
- המאפיינים של
SavedStateConfigגלויים עכשיו לכולם, כך שמודולים אחרים יכולים להשתמש בהגדרות האלה. (Ie5f49, b/378897438) - תמיכה ב-
@Serializer(with = ...)עבורMutableStateFlowSerializerו-MutableStateSerializer(I90953) - הוספת
contentDeepToStringאלSavedStateReader(I14d10)
גרסה 1.3.0-alpha08
12 בפברואר 2025
androidx.savedstate:savedstate-*:1.3.0-alpha08 משוחרר. גרסה 1.3.0-alpha08 מכילה את הקומטים האלה.
תכונות חדשות
- העברה של
MutableStateSerializerאלsavedstate-composeמ-lifecycle-viewmodel-compose, כדי לאפשר לכם להשתמש בממשקי ה-API של SavedState Serialization עםMutableStateשל Compose. (I4f690, b/378895074)
שינויים ב-API
- מוסיפים פונקציית factory כדי ליצור
SavedStateמSavedStateקיים. (I39f9a) - הוספנו תמיכה ב-
Array<SavedState>וב-List<SavedState>ב-androidx.savedstate. (Idd8a5) - הוספת פרמטר אופציונלי
SavedStateConfigלקידוד/פענוח של SavedState (I6c4c0)
גרסה 1.3.0-alpha07
29 בינואר 2025
androidx.savedstate:savedstate-*:1.3.0-alpha07 משוחרר. גרסה 1.3.0-alpha07 מכילה את הקומטים האלה.
תכונות חדשות
- הוספת
MutableStateFlowSerializerלסריאליזציה שלkotlinx.coroutines.flow.MutableStateFlow. (I6a892, b/378895070)
שינויים ב-API
- החלפת פונקציות מואצלות בעלות עומס יתר
SavedStateRegistryOwner.saved()בפרמטרים שמוגדרים כברירת מחדל (Icd1c1) - יצירת תקציר של
JavaSerializableSerializerושלParcelableSerializer(I268f6) - הסרת
T : CharSequenceכללי מהחשבוןCharSequenceSerializer(Ib40bd)
גרסה 1.3.0-alpha06
11 בדצמבר 2024
androidx.savedstate:savedstate-*:1.3.0-alpha06 משוחרר. גרסה 1.3.0-alpha06 מכילה את הקומטים האלה.
תכונות חדשות
-
SavedStateKMP תומך עכשיו ב:IBinder, Size, SizeF, Array<Parcelable>, SparseArray<Parcelable>ו-Serializable (Android). (I1ba94, b/334076622) - מוסיפים מופעים של
KSerializerשאפשר להשתמש בהם כדי לקודד ולפענח סוגים של Java ו-Android שנתמכים על ידי Bundle, על ידי סימון השדה הרלוונטי בכיתה באמצעות@Serializable(with = ParcelableSerializer::class). (I8c10f, I28caf, b/376026712) - עכשיו אפשר לפתור מקרים של
SavedStateRegistryOwnerשאוחזרו באמצעותfindViewTreeSavedStateRegistryOwnerדרך הורים לא רציפים של תצוגה, כמוViewOverlay. מידע נוסף על הורים של תצוגות לא רציפות זמין בהערות הגרסה של ליבת או במאמרי העזרה בכתובתViewTree.setViewTreeDisjointParent. (Iccb33)
שינויים ב-API
- הוספת עקביות רבה יותר לשמות ולארגון החבילות בהשוואה ל-
SavedStateRegistryOwnerDelegate(I8c135, b/376026744)
גרסה 1.3.0-alpha05
13 בנובמבר 2024
androidx.savedstate:savedstate-*:1.3.0-alpha05 משוחרר. גרסה 1.3.0-alpha05 מכילה את ההתחייבויות האלה.
תמיכה ב-KotlinX Serialization
SavedStateכולל עכשיו תמיכה ב-KotlinX Serialization. אפשר להמיר כיתה עם ההערה@Serializableל-SavedStateבאמצעות השיטותencodeToSavedStateו-decodeFromSavedState. הערךSavedStateשמוחזר הואBundleרגיל ב-Android, ואפשר להשתמש בו בכל API שמקבלSavedState.Bundle(I6f59f, b/374102924)@Serializable data class Person(val firstName: String, val lastName: String) fun main() { val person = Person("John", "Doe") val encoded: SavedState = encodeToSavedState(person) val decoded: Person = decodeFromSavedState(encoded) }הוספנו גם את
saved, נציג מאפיינים עצלן, כדי שיהיה קל לאחסן מחלקות@Serializableב-SavedStateRegistryOwner(למשל, ComponentActivity,Fragmentוכו') ולגרום לשחזור אוטומטי של המחלקות האלה אחרי שהתהליך מסתיים ונוצר מחדש. חשוב לזכור שהנציגsavedהוא עצלן ולא יפעיל את פונקציית ה-lambdainitאו ישמור משהו ב-SavedStateRegistryעד שתהיה אליו גישה. (I66739, b/376027806)@Serializable data class Person(val firstName: String, val lastName: String) class MyActivity : ComponentActivity() { var person by saved { Person("John", "Doe") } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) this.person = Person("Jane", "Doe") } }בנוסף, ב-Lifecycle
2.9.0-alpha07נוסף נציג נכס דומהsavedעבורSavedStateHandle.
שינויים ב-API
- הוספת
toMapאלSavedState, כך שכלSavedStateיומר לMapרגיל (עותק שטחי). (I487b9, b/334076622) -
SavedStateKMP תומך עכשיו במערכים. (Ic0552, b/334076622)
גרסה 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ל-SavedState KMP. (Iea71d, b/334076622) - הוספת פרמטרים נוספים של
savedStateיצרן שתומכים ב-Map<String, Any>ראשוני (I9b37d, b/334076622) - ספריית SavedState KMP תומכת עכשיו בהשוואה בין
contentDeepEquals. (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)
תכונות חדשות
- הוספנו את סוג הנתונים
SavedStateopaque כהפשטה כדי לספק דרך עקבית לשמירה ולשחזור של מצב האפליקציה ב-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-ktxkotlin הועברו עכשיו למודול הבסיסי של 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-ktxfindViewTreeSavedStateRegistryOwner.
- ב-
שינויים בהתנהגות
-
SavedStateRegistryכבר לא שומר חבילה ריקה אם אין מצב לשמירה.
גרסה 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 כוללת את הקומיטים האלה.
שינויים במסמכי התיעוד
- המסמכים
SavedStateRegistryOwnerKdocs עודכנו כדי להבהיר את האחריות והחוזה של הבעלים לגבי אופן היישום של הממשק או מתי צריך להפעיל את ה-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-ktxfindViewTreeSavedStateRegistryOwner. היא תואמת לקובץ בינארי ונשארת תואמת לקוד המקור להטמעות שנכתבו בשפת התכנות 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 מכילה את הקומיטים האלה.
תכונות חדשות
- מעכשיו אפשר ב-
SavedStateRegistryControllerלצרף מוקדם אתSavedStateRegistryדרךperformAttach(). (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
-
ViewTreeSavedStateRegistryOwnerAPI: ViewTreeSavedStateRegistryOwner.get(View)API חדש מאפשר לכם לאחזר אתSavedStateRegistryשמכיל מופע שלView. כדי שהנתונים יאוכלסו בצורה נכונה, צריך לשדרג ל-Activity1.2.0, Fragment1.3.0ו-AppCompat1.3.0-alpha01או לגרסה מתקדמת יותר. savedstate-ktxארטיפקט: נוסף ארטיפקט חדש שלsavedstate-ktxעם תוסף Kotlin לעבודה עםViewTreeSavedStateRegistryOwner.findViewTreeSavedStateRegistryOwner()
גרסה 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עם הרחבת Kotlin לעבודה עםViewTreeSavedStateRegistryOwner.findViewTreeSavedStateRegistryOwner()(aosp/1299434)
גרסה 1.0.0
גרסה 1.0.0
5 בספטמבר 2019
androidx.savedstate:savedstate:1.0.0 משוחרר. כאן אפשר לראות את הקומיטים שכלולים בגרסה הזו.
התכונות העיקריות של SavedState 1.0.0
androidx.savedstate עברה לגרסה יציבה. זוהי קבוצה של ממשקי API שמאפשרים למפתחים להוסיף רכיבים לתהליך השחזור או השמירה של מצב המופע. נקודת הכניסה הראשית של ה-API היא SavedStateRegistry, שמאפשרת לאחזר מצבים שנשמרו בעבר באמצעות consumeRestoredStateForKey ולרשום קריאה חוזרת (callback) ל-registerSavedStateProvider כדי לספק מצב שמור ברגע שהמערכת מבקשת אותו.
גרסה 1.0.0-rc01
2 ביולי 2019
androidx.savedstate:savedstate:1.0.0-rc01 משוחרר. כאן אפשר לראות את הקומיטים שכלולים בגרסה הזו.
תיקוני באגים
- תוקן כלל שגוי של 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 בגרסת אלפא שמאפשרים למפתחים להוסיף רכיבים לתהליך השחזור או השמירה של מצב המופע. נקודת הכניסה הראשית של ה-API היא SavedStateRegistry<T>, שמאפשרת לאחזר מצב שנשמר בעבר באמצעות consumeRestoredStateForKey ולרשום קריאה חוזרת (callback) ל-registerSavedStateProvider כדי לספק מצב שנשמר ברגע שהמערכת מבקשת אותו.