מצב שמור

כתיבת רכיבים ניתנים לחיבור ששומרים את מצב ממשק המשתמש כשתהליך מסתיים ומשחזרים אותו כשהתהליך מתחיל מחדש.
העדכון האחרון גרסה יציבה מועמד לפרסום גרסת בטא גרסת אלפא
7 באוגוסט 2024 1.2.1 - - 1.3.0-alpha01

הצהרה על יחסי תלות

כדי להוסיף תלות ב-SavedState, צריך להוסיף את מאגר Google Maven ל פרויקט. למאגר Maven של Google אפשר לקבל מידע נוסף.

מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle בשביל האפליקציה או המודול שלך:

מגניב

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. נשמח לשמוע אם גילית בעיות חדשות או אם יש לך רעיונות לשיפור הספרייה הזו. מומלץ לעיין בעיות קיימות בספרייה הזו לפני שיוצרים ספר חדש. אפשר להוסיף את ההצבעה שלך לבעיה קיימת על ידי לחיצה על לחצן הכוכב.

דיווח על בעיה חדשה

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

גרסה 1.3

גרסה 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

  • תוספי Kotlin savedstate-ktx הועברו למודול הבסיס השמור של המצב. (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 כוללת את ההתחייבויות האלה.

עדכונים בנושא תלות

גרסה 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 כדי להגדיר ולמצוא בעלים שהוגדרו קודם לכן. הוא מחליף את savedstate-ktx API של 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 נכתבו מחדש בקוטלין. עבור ViewTreeSavedStateRegistryOwner, מדובר בשינוי לא תואם למקור עבור הכיתות שנכתבו ב-Kotlin. עליך לייבא עכשיו ישירות את שיטות התוסף של Kotlin ולהשתמש בהן ב-View מתוך androidx.savedstate.setViewTreeSavedStateRegistryOwner וב-androidx.savedstate.findViewTreeSavedStateRegistryOwner כדי להגדיר ולמצוא בעלים שהוגדרו קודם לכן. הוא מחליף את savedstate-ktx API של 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

  • API של ViewTreeSavedStateRegistryOwner: API חדש של ViewTreeSavedStateRegistryOwner.get(View) מאפשר לאחזר את ה-SavedStateRegistry המכיל במכונה View. כדי לאכלס את הנתונים בצורה נכונה, צריך לשדרג ל-פעילות 1.2.0, Fragment 1.3.0 ו-AppCompat 1.3.0-alpha01 ומעלה.
  • ארטיפקט של savedstate-ktx: פריט המידע שנוצר בתהליך הפיתוח (Artifact) מסוג 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. כדי לאכלס את הנתונים האלה בצורה נכונה, צריך לשדרג לפעילות 1.2.0-alpha05, למקטע 1.3.0-alpha05 ול-AppCompat 1.3.0-alpha01. (aosp/1298679)
  • פריט המידע שנוצר בתהליך הפיתוח (Artifact) החדש מסוג savedstate-ktx נוסף עם תוסף Kotlin מסוג findViewTreeSavedStateRegistryOwner() לעבודה עם ViewTreeSavedStateRegistryOwner. (aosp/1299434)

גרסה 1.0.0

גרסה 1.0.0

5 בספטמבר 2019

androidx.savedstate:savedstate:1.0.0 משוחרר. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

התכונות העיקריות ב-SavedState 1.0.0

androidx.savedstate שודרג לגרסה יציבה. זאת קבוצה של ממשקי API שמאפשרים למפתחים להוסיף רכיבים לתהליך השחזור / SaveInstanceState. נקודת הכניסה הראשית ב-API היא SavedStateRegistry, שמספקת דרך לאחזר מצבים שנשמרו בעבר באמצעות consumeRestoredStateForKey ולרשום קריאה חוזרת ל-registerSavedStateProvider כדי לספק מצב שמור אחרי שהמערכת מבקשת אותו.

גרסה 1.0.0-rc01

2 ביולי 2019

androidx.savedstate:savedstate:1.0.0-rc01 משוחרר. אפשר למצוא כאן את ההתחייבות שכלולה בגרסה הזו.

תיקוני באגים

גרסה 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 בארטיפקט אחד, כי הוחלט לפשט את התשתית של המצבים השמורים ולהסיר את המוצרים הגנריים מ-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 לאלפא, שמאפשרים למפתחים להוסיף רכיבים של יישומי פלאגין לתהליך השחזור / SaveInstanceState. נקודת הכניסה הראשית ב-API היא SavedStateRegistry<T>, שמספקת דרך לאחזר את המצב שנשמר בעבר דרך consumeRestoredStateForKey ולרשום קריאה חוזרת (callback) ל-registerSavedStateProvider כדי לספק מצב שמור אחרי שהמערכת מבקשת אותו.