הקפאת המצב לשיתוף
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
2 ביולי 2025 | 1.3.1 | - | - | - |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-SavedState, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle
של האפליקציה או המודול:
Groovy
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.3.1" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.3.1" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.3.1") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.3.1") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-Build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.
גרסה 1.3
גרסה 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. תמיד צריך להשתמש ב-Compose UI1.9.0-alpha02
ומעלה, אבל יש תאימות לאחור כך שאפשר להשתמש בו בכל הגרסאות של Compose. - התוספים של
savedstate-ktx
kotlin הועברו עכשיו למודול הבסיסי של savedstate. - עכשיו אפשר לפתור מקרים של
SavedStateRegistryOwner
שאוחזרו באמצעותfindViewTreeSavedStateRegistryOwner
דרך הורים לא רציפים של תצוגה, כמוViewOverlay
. מידע נוסף על הורים של תצוגות לא רציפות זמין בהערות הגרסה של core או במסמכי התיעוד בכתובתViewTree.setViewTreeDisjointParent
.
Kotlin Multiplatform
- מודול
SavedState
תואם עכשיו ל-KMP. הפלטפורמות הנתמכות כוללות עכשיו את Android, iOS, Linux, Mac וסביבות שולחן עבודה של JVM. הוספנו את סוג הנתונים האפום
SavedState
כהפשטה כדי לספק דרך עקבית לשמירה ולשחזור של מצב האפליקציה ב-KMP. הוא כוללSavedStateReader
ו-SavedStateWriter
לשינוי המצב שייכלל בשמירה. ב-Android, SavedState
הוא שם חלופי (alias) לסוג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 שמקבל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 מכילה את הקומטים האלה.
תכונות חדשות
-
SavedState
KMP תומך עכשיו ב: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
. מידע נוסף על הורים של תצוגות לא רציפות זמין בהערות הגרסה של core או במסמכי התיעוד בכתובת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 שמקבל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) -
SavedState
KMP תומך עכשיו במערכים. (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)
תכונות חדשות
- הוספנו את סוג הנתונים האפום
SavedState
כהפשטה כדי לספק דרך עקבית לשמירה ולשחזור של מצב האפליקציה ב-KMP. הוא כוללSavedStateReader
ו-SavedStateWriter
לשינוי המצב שייכלל בשמירה. ב-Android, SavedState
הוא שם חלופי (alias) לסוג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 שלsavedstate-ktx
שלfindViewTreeSavedStateRegistryOwner
.
- ב-
שינויים בהתנהגות
-
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 כוללת את הקומיטים האלה.
שינויים במסמכי התיעוד
- המסמכים
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 של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 מכילה את הקומיטים האלה.
תכונות חדשות
- מעכשיו אפשר ב-
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
-
ViewTreeSavedStateRegistryOwner
API:ViewTreeSavedStateRegistryOwner.get(View)
API חדש מאפשר לכם לאחזר אתSavedStateRegistry
שמכיל מופע שלView
. כדי שהנתונים יאוכלסו בצורה נכונה, צריך לשדרג ל-Activity1.2.0
, Fragment1.3.0
ו-AppCompat1.3.0-alpha01
או לגרסה מתקדמת יותר. savedstate-ktx
artifact: נוסףsavedstate-ktx
artifact חדש עם תוסף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
עם הרחבת 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
כדי לספק מצב שנשמר ברגע שהמערכת מבקשת אותו.