Gespeicherter Status

Schreiben von Plug-in-Komponenten, die den UI-Status speichern, wenn ein Prozess abgebrochen wird, und ihn beim Neustart des Prozesses wiederherstellen.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
22. März 2023 1.2.1 - - -

Abhängigkeiten deklarieren

Zum Hinzufügen einer Abhängigkeit von SavedState müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

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

Groovig

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. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

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 werden veröffentlicht. Version 1.2.1 enthält diese Commits.

Aktualisierungen von 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 werden veröffentlicht. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

  • SavedStateRegistryController erlaubt jetzt das vorzeitige Anhängen von SavedStateRegistry über performAttach().
  • Sie können jetzt über getSavedStateProvider() einen zuvor registrierten SavedStateProvider von einer SavedStateRegistry abrufen.
  • Die SavedState-Bibliothek wurde in Kotlin neu geschrieben.
    • Bei SavedStateRegistryOwner ist dies eine quellinkompatible Änderung für die Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt das Attribut savedStateRegistry überschreiben, anstatt die vorherige getSavedStateRegistry()-Funktion zu implementieren.
    • Bei ViewTreeSavedStateRegistryOwner ist dies eine quellinkompatible Änderung für die Klassen, die in Kotlin geschrieben wurden. 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 des Verhaltens

  • SavedStateRegistry speichert kein leeres Bundle 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 werden 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 Inhabers für die Implementierung der Schnittstelle oder den Zeitpunkt des Aufrufs der Methoden in SavedStateRegistryController zu verdeutlichen. (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 werden veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

API-Änderungen

  • Die Klassen SavedStateRegistry und ViewTreeSavedStateRegistryOwner wurden in Kotlin neu geschrieben. Bei ViewTreeSavedStateRegistryOwner ist dies eine quellinkompatible Änderung für die Klassen, die in Kotlin geschrieben wurden. 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 werden veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Sie können jetzt über getSavedStateProvider() einen zuvor registrierten SavedStateProvider von einer SavedStateRegistry abrufen. (I7ea47, b/215406268)

API-Änderungen

  • Die Klassen SavedStateRegistryOwner, SavedStateRegistryController und Recreator wurden in Kotlin neu geschrieben. Bei SavedStateRegistryOwner ist dies eine quellinkompatible Änderung für die Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt das Attribut savedStateRegistry überschreiben, anstatt die vorherige getSavedStateRegistry()-Funktion zu implementieren. Dies ist binär- und quellkompatibel für Implementierungen, die in der Programmiersprache Java geschrieben wurden. (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 werden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • SavedStateRegistryController ermöglicht jetzt das vorzeitige Anhängen von SavedStateRegistry über performAttach(). (Ice4bf)

Änderungen des Verhaltens

  • SavedStateRegistry speichert kein leeres Bundle 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 werden veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • ViewTreeSavedStateRegistryOwner API: Mit einer neuen ViewTreeSavedStateRegistryOwner.get(View) API können Sie die SavedStateRegistry bei 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, damit dieses Feld korrekt ausgefüllt wird.
  • savedstate-ktx-Artefakt: Das neue savedstate-ktx-Artefakt wurde mit der Kotlin-Erweiterung findViewTreeSavedStateRegistryOwner() 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 werden 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 werden 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 werden veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Mit einer neuen ViewTreeSavedStateRegistryOwner.get(View) API können Sie die enthaltene SavedStateRegistry bei 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, damit dieses Feld korrekt ausgefüllt wird. (aosp/1298679)
  • Das neue savedstate-ktx-Artefakt wurde für die Arbeit mit ViewTreeSavedStateRegistryOwner mit der Kotlin-Erweiterung findViewTreeSavedStateRegistryOwner() hinzugefügt. (aosp/1299434)

Version 1.0.0

Version 1.0.0

5. September 2019

androidx.savedstate:savedstate:1.0.0 wird freigegeben. 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-/SaveInstanceState-Prozess einbinden können. Der Haupteinstiegspunkt der API ist SavedStateRegistry. Dort können zuvor gespeicherte Status mithilfe von consumeRestoredStateForKey abgerufen und ein Callback von registerSavedStateProvider registriert werden, um einen gespeicherten Status bereitzustellen, sobald das System ihn anfordert.

Version 1.0.0-rc01

2. Juli 2019

androidx.savedstate:savedstate:1.0.0-rc01 wird freigegeben. 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 wird freigegeben. 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 wird freigegeben. androidx.savedstate:savedstate kombiniert die Artefakte androidx.savedstate:savedstate-bundle und androidx.savedstate:savedstate-common zu einem Artefakt, da beschlossen wurde, die Savestate-Infrastruktur zu vereinfachen und Generika aus SavedStateRegistry zu entfernen. Daher sind keine separaten Module 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 zugehörige Komponente neu gestartet wurde.

API-Änderungen

  • Generisch aus „SavedStateRegistry<T>“ entfernt
  • SummarySavedStateRegistry und BundlableSavedStateRegistry wurden entfernt. Verwenden Sie stattdessen das einfache SavedStateRegistry.
  • BundleSavedStateRegistryOwner wurde in SavedStateRegistryOwner umbenannt.

Version 1.0.0-alpha01

17. Dezember 2018

Dies ist die erste Version von SavedState.

Neue Funktionen

androidx.savedstate ist ein neuer Satz von Alpha-APIs, mit denen Entwickler Komponenten für den Wiederherstellungs-/saveInstanceState-Prozess Plug-in verwenden können. Der Haupteinstiegspunkt der API ist SavedStateRegistry<T>. Hier kannst du einen zuvor gespeicherten Status über consumeRestoredStateForKey abrufen und einen Callback von registerSavedStateProvider registrieren, um einen gespeicherten Status bereitzustellen, sobald das System ihn anfordert.