Savedstate

Schreiben Sie Plug-in-fähige Komponenten, die den UI-Status speichern, wenn ein Prozess abgebrochen wird, und stellen Sie ihn wieder her, wenn der Prozess neu gestartet wird.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpha-Release
7. August 2024 1.2.1 - - 1.3.0-alpha01

Abhängigkeiten deklarieren

Um eine Abhängigkeit von SavedState hinzuzufügen, müssen Sie das Maven-Repository von Google zu Ihrem Projekt arbeiten. Maven-Repository von Google lesen .

Fügen Sie der Datei build.gradle die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen Ihre App oder Ihr Modul:

Cool

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")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie zu einem vorhandenen Problem abstimmen: indem Sie auf die Sternschaltfläche klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung. .

Version 1.3

Version 1.3.0-alpha01

7. August 2024

androidx.savedstate:savedstate:1.3.0-alpha01 und androidx.savedstate:savedstate-ktx:1.3.0-alpha01 wurden veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.

API-Änderungen

  • Die savedstate-ktx-Kotlin-Erweiterungen wurden jetzt in das Basismodul „Savedstate“ verschoben. (I1cc18, b/274803094)

Hinweis

  • compileSdk auf 35 (5dc41be) aktualisieren

Version 1.2.1

Version 1.2.1

22. März 2023

androidx.savedstate:savedstate:1.2.1 und androidx.savedstate:savedstate-ktx:1.2.1 wurden veröffentlicht. Version 1.2.1 enthält diese Commits.

Aktualisierung der Abhängigkeiten

Version 1.2.0

Version 1.2.0

29. Juni 2022

androidx.savedstate:savedstate:1.2.0 und androidx.savedstate:savedstate-ktx:1.2.0 wurden veröffentlicht. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

  • SavedStateRegistryController ermöglicht jetzt ein frühes Anhängen von SavedStateRegistry über performAttach().
  • Sie können jetzt über getSavedStateProvider() eine zuvor registrierte SavedStateProvider aus einer SavedStateRegistry abrufen.
  • Die SavedState-Bibliothek wurde in Kotlin umgeschrieben.
    • Für SavedStateRegistryOwner ist dies eine nicht mit der Quelle kompatible Änderung für die in Kotlin geschriebenen Klassen. Sie müssen jetzt das Attribut savedStateRegistry überschreiben, anstatt die vorherige getSavedStateRegistry()-Funktion zu implementieren.
    • Für ViewTreeSavedStateRegistryOwner ist dies eine nicht mit der Quelle kompatible Änderung für die in Kotlin geschriebenen Klassen. Sie müssen jetzt die Kotlin-Erweiterungsmethoden für View von androidx.savedstate.setViewTreeSavedStateRegistryOwner und androidx.savedstate.findViewTreeSavedStateRegistryOwner direkt importieren und verwenden, um einen zuvor festgelegten Inhaber festzulegen und zu finden. Dies ersetzt die savedstate-ktx API von findViewTreeSavedStateRegistryOwner.

Änderungen im Verhalten

  • SavedStateRegistry speichert ein leeres Bundle nicht mehr, wenn kein Status zum Speichern vorhanden ist.

Version 1.2.0-rc01

11. Mai 2022

androidx.savedstate:savedstate:1.2.0-rc01 und androidx.savedstate:savedstate-ktx:1.2.0-rc01 wurden veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.

Änderungen an der Dokumentation

  • Die SavedStateRegistryOwner-Kdocs wurden aktualisiert, um die Verantwortlichkeiten und den Vertrag des Rechteinhabers zu verdeutlichen, wie die Schnittstelle implementiert oder wann die Methoden für SavedStateRegistryController aufgerufen werden sollten. (Iefc95, b/228887344)

Version 1.2.0-beta01

20. April 2022

androidx.savedstate:savedstate:1.2.0-beta01 und androidx.savedstate:savedstate-ktx:1.2.0-beta01 wurden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

API-Änderungen

  • Die Klassen SavedStateRegistry und ViewTreeSavedStateRegistryOwner wurden in Kotlin umgeschrieben. Für ViewTreeSavedStateRegistryOwner ist dies eine nicht mit der Quelle kompatible Änderung für die in Kotlin geschriebenen Klassen. Sie müssen jetzt die Kotlin-Erweiterungsmethoden für View von androidx.savedstate.setViewTreeSavedStateRegistryOwner und androidx.savedstate.findViewTreeSavedStateRegistryOwner direkt importieren und verwenden, um einen zuvor festgelegten Inhaber festzulegen und zu finden. Dies ersetzt die savedstate-ktx API von findViewTreeSavedStateRegistryOwner. Dies ist binärkompatibel und bleibt für Implementierungen, die in der Programmiersprache Java geschrieben sind, quellkompatibel. (b/220191285)

Version 1.2.0-alpha02

6. April 2022

androidx.savedstate:savedstate:1.2.0-alpha02 und androidx.savedstate:savedstate-ktx:1.2.0-alpha02 wurden veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Sie können jetzt über getSavedStateProvider() eine zuvor registrierte SavedStateProvider aus einer SavedStateRegistry abrufen. (I7ea47, b/215406268)

API-Änderungen

  • Die Klassen SavedStateRegistryOwner, SavedStateRegistryController und Recreator wurden in Kotlin umgeschrieben. Für SavedStateRegistryOwner ist dies eine nicht mit der Quelle kompatible Änderung für die in Kotlin geschriebenen Klassen. Sie müssen jetzt das Attribut savedStateRegistry überschreiben, anstatt die vorherige getSavedStateRegistry()-Funktion zu implementieren. Sie ist binärkompatibel und quellkompatibel für Implementierungen, die in der Programmiersprache Java geschrieben sind. (b/220191285)

Version 1.2.0-alpha01

26. Januar 2022

androidx.savedstate:savedstate:1.2.0-alpha01 und androidx.savedstate:savedstate-ktx:1.2.0-alpha01 wurden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • SavedStateRegistryController erlaubt jetzt frühes Anhängen von SavedStateRegistry über performAttach() (Ice4bf)

Änderungen im Verhalten

  • SavedStateRegistry speichert ein leeres Bundle nicht mehr, wenn kein Status zum Speichern vorhanden ist. (aosp/1896865, b/203457956)

Version 1.1.0

Version 1.1.0

10. Februar 2021

androidx.savedstate:savedstate:1.1.0 und androidx.savedstate:savedstate-ktx:1.1.0 wurden veröffentlicht. Version 1.1.0 enthält diese Commits.

Große Änderungen seit Version 1.0.0

  • ViewTreeSavedStateRegistryOwner API: Mit einer neuen ViewTreeSavedStateRegistryOwner.get(View) API können Sie die enthaltene SavedStateRegistry aus einer View-Instanz abrufen. Sie müssen ein Upgrade auf Activity 1.2.0, Fragment 1.3.0 und AppCompat 1.3.0-alpha01 oder höher ausführen, um dieses Feld korrekt auszufüllen.
  • savedstate-ktx-Artefakt: Das neue savedstate-ktx-Artefakt wurde mit der findViewTreeSavedStateRegistryOwner() Kotlin-Erweiterung für die Arbeit mit ViewTreeSavedStateRegistryOwner hinzugefügt.

Version 1.1.0-rc01

16. Dezember 2020

androidx.savedstate:savedstate:1.1.0-rc01 und androidx.savedstate:savedstate-ktx:1.1.0-rc01 wurden ohne Änderungen seit dem 1.1.0-beta01 veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Version 1.1.0-beta01

1. Oktober 2020

androidx.savedstate:savedstate:1.1.0-beta01 und androidx.savedstate:savedstate-ktx:1.1.0-beta01 wurden ohne Änderungen seit dem 1.1.0-alpha01 veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Version 1.1.0-alpha01

20. Mai 2020

androidx.savedstate:savedstate:1.1.0-alpha01 und androidx.savedstate:savedstate-ktx:1.1.0-alpha01 wurden veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Mit einer neuen ViewTreeSavedStateRegistryOwner.get(View) API können Sie die enthaltende SavedStateRegistry einer View-Instanz abrufen. Sie müssen ein Upgrade auf Activity 1.2.0-alpha05, Fragment 1.3.0-alpha05 und AppCompat 1.3.0-alpha01 ausführen, um dieses Feld korrekt auszufüllen. (aosp/1298679)
  • Das neue Artefakt savedstate-ktx wurde mit der Kotlin-Erweiterung findViewTreeSavedStateRegistryOwner() für die Arbeit mit ViewTreeSavedStateRegistryOwner hinzugefügt. (aosp/1299434)

Version 1.0.0

Version 1.0.0

5. September 2019

androidx.savedstate:savedstate:1.0.0 wurde veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Hauptfunktionen von SavedState 1.0.0

androidx.savedstate wurde auf eine stabile Version umgestellt. Dies ist eine Reihe von APIs, mit denen Entwickler Komponenten in den Wiederherstellungs-/Speicherinstanzstatus-Prozess einbinden können. Der Haupteinstiegspunkt der API ist SavedStateRegistry. Damit können zuvor gespeicherte Status mithilfe von consumeRestoredStateForKey abgerufen und ein Callback an registerSavedStateProvider registriert werden, um einen gespeicherten Status bereitzustellen, wenn das System ihn anfordert.

Version 1.0.0-rc01

2. Juli 2019

androidx.savedstate:savedstate:1.0.0-rc01 wurde veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Fehlerkorrekturen

Version 1.0.0-beta01

7. Mai 2019

androidx.savedstate:savedstate:1.0.0-beta01 wurde veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.

Version 1.0.0-alpha02

13. März 2019

androidx.savedstate:savedstate:1.0.0-alpha02 wurde veröffentlicht. androidx.savedstate:savedstate kombiniert die Artefakte androidx.savedstate:savedstate-bundle und androidx.savedstate:savedstate-common zu einem Artefakt, da beschlossen wurde, die gespeicherte Zustandsinfrastruktur zu vereinfachen und generische Elemente aus SavedStateRegistry zu entfernen. Separate Module sind daher nicht erforderlich.

Die vollständige Liste der in dieser Version enthaltenen Commits finden Sie hier.

Neue Funktionen

  • SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz ) wurde hinzugefügt. Die angegebene Klasse wird instanziiert und die Methode AutoRecreated.onRecreated wird ausgeführt, wenn die Eigentümerkomponente neu gestartet wird.

API-Änderungen

  • Generisch aus SavedStateRegistry<T> entfernt
  • SummarySavedStateRegistry und BundlableSavedStateRegistry wurde entfernt. Verwenden Sie stattdessen die einfache SavedStateRegistry.
  • BundleSavedStateRegistryOwner wird in SavedStateRegistryOwner umbenannt

Version 1.0.0-alpha01

17. Dezember 2018

Dies ist die erste Version von SavedState.

Neue Funktionen

androidx.savedstate umfasst neue Alpha-APIs, mit denen Entwickler Komponenten für den Wiederherstellungs-/Speicherinstanzstatus-Prozess einbinden können. Der Haupteinstiegspunkt der API ist SavedStateRegistry<T>. Sie bietet eine Möglichkeit, einen zuvor gespeicherten Status über consumeRestoredStateForKey abzurufen und einen Callback an registerSavedStateProvider zu registrieren, um einen gespeicherten Status bereitzustellen, wenn das System ihn anfordert.