Letzte Aktualisierung | Stabile Version | Release Candidate | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
30. Oktober 2024 | 1.2.1 | - | - | 1.3.0-alpha04 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von SavedState hinzufügen möchten, 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 Artefakte hinzu, die Sie benötigen:
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
Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme hinzufügen, indem Sie auf die Sternschaltfläche klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.3
Version 1.3.0-alpha04
30. Oktober 2024
androidx.savedstate:savedstate-*:1.3.0-alpha04
wird veröffentlicht. Version 1.3.0-alpha04 enthält diese Commits.
API-Änderungen
- SavedState KMP unterstützt jetzt Char. (I9ac2f, b/334076622)
- Fügen Sie
putNull
undisNull
zu SavedState KMP hinzu. (Iea71d, b/334076622) - Fügen Sie zusätzliche
savedState
-Werksparameter hinzu, die ein initialesMap<String, Any>
unterstützen (I9b37d, b/334076622) - SavedState KMP unterstützt jetzt den
contentDeepEquals
-Vergleich. (Ia515c, b/334076622) - SavedState-KMP unterstützt jetzt Long. (I4c180, b/334076622)
Version 1.3.0-alpha03
16. Oktober 2024
androidx.savedstate:savedstate-*:1.3.0-alpha03
wird ohne nennenswerte Änderungen veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
Version 1.3.0-alpha02
2. Oktober 2024
androidx.savedstate:savedstate-*:1.3.0-alpha02
wird veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
Kotlin Multiplatform
- Das Modul
SavedState
ist jetzt mit KMP kompatibel. Zu den unterstützten Plattformen gehören jetzt Android-, iOS-, Linux-, Mac- und JVM-Desktopumgebungen. (I26305, b/334076622)
Neue Funktionen
- Einführung des
SavedState
-Typs als Abstraktion, um den Anwendungsstatus in KMP konsistent zu speichern und wiederherzustellen. Sie enthältSavedStateReader
undSavedStateWriter
zum Ändern des zu speichernden Status. Unter Android istSavedState
ein Typalias fürBundle
, der die Binärkompatibilität gewährleistet und die Migration vorhandener APIs zu einem gemeinsamen Quellsatz erleichtert. Auf anderen Plattformen istSavedState
eineMap<String, Any>
-Instanz. (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-Änderungen
SavedStateRegistry
undSavedStateRegistryController
sind jetzt mit KMP kompatibel. (Id7bb8, b/334076622)SavedState
,SavedStateWriter
undSavedStateReader
sind jetzt KMP-kompatibel. (I26305, b/334076622)
Version 1.3.0-alpha01
7. August 2024
androidx.savedstate:savedstate:1.3.0-alpha01
und androidx.savedstate:savedstate-ktx:1.3.0-alpha01
werden freigegeben. Version 1.3.0-alpha01 enthält diese Commits.
API-Änderungen
- Die
savedstate-ktx
-Kotlin-Erweiterungen wurden 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.
Abhängigkeitsupdates
SavedState
hängt jetzt von Lifecycle2.6.1
ab. (c1f621)
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 freigegeben. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
SavedStateRegistryController
ermöglicht jetzt ein frühes Anhängen vonSavedStateRegistry
überperformAttach()
.- Sie können jetzt eine zuvor registrierte
SavedStateProvider
übergetSavedStateProvider()
von einemSavedStateRegistry
abrufen. - Die
SavedState
-Bibliothek wurde in Kotlin neu geschrieben.- Bei
SavedStateRegistryOwner
handelt es sich um eine nicht mit der Quelle kompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt die PropertysavedStateRegistry
überschreiben, anstatt die vorherigegetSavedStateRegistry()
-Funktion zu implementieren. - Für
ViewTreeSavedStateRegistryOwner
ist dies eine nicht mit der Quelle kompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt die Kotlin-Erweiterungsmethoden fürView
vonandroidx.savedstate.setViewTreeSavedStateRegistryOwner
undandroidx.savedstate.findViewTreeSavedStateRegistryOwner
direkt importieren und verwenden, um einen zuvor festgelegten Inhaber festzulegen und zu finden. Damit wird diesavedstate-ktx
API vonfindViewTreeSavedStateRegistryOwner
ersetzt.
- Bei
Verhaltensänderungen
SavedStateRegistry
speichert kein leeres Bundle mehr, wenn kein Status gespeichert werden kann.
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 freigegeben. 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 zu klären, wie er die Benutzeroberfläche implementieren oder wann er die Methoden aufSavedStateRegistryController
aufrufen soll. (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 freigegeben. Version 1.2.0-beta01 enthält diese Commits.
API-Änderungen
- Die Klassen
SavedStateRegistry
undViewTreeSavedStateRegistryOwner
wurden in Kotlin umgeschrieben. FürViewTreeSavedStateRegistryOwner
ist dies eine nicht mit der Quelle kompatible Änderung für die in Kotlin geschriebenen Klassen. Sie müssen jetzt die Kotlin-Erweiterungsmethoden fürView
vonandroidx.savedstate.setViewTreeSavedStateRegistryOwner
undandroidx.savedstate.findViewTreeSavedStateRegistryOwner
direkt importieren und verwenden, um einen zuvor festgelegten Inhaber festzulegen und zu finden. Damit wird diesavedstate-ktx
API vonfindViewTreeSavedStateRegistryOwner
ersetzt. 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 eine zuvor registrierte
SavedStateProvider
übergetSavedStateProvider()
von einemSavedStateRegistry
abrufen. (I7ea47, b/215406268)
API-Änderungen
- Die Klassen
SavedStateRegistryOwner
,SavedStateRegistryController
undRecreator
wurden in Kotlin neu geschrieben. BeiSavedStateRegistryOwner
handelt es sich um eine nicht mit der Quelle kompatible Änderung für Klassen, die in Kotlin geschrieben wurden. Sie müssen jetzt die PropertysavedStateRegistry
überschreiben, anstatt die vorherigegetSavedStateRegistry()
-Funktion zu implementieren. Dies ist binär- 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
werden freigegeben. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
SavedStateRegistryController
ermöglicht jetzt das vorzeitige Anhängen vonSavedStateRegistry
überperformAttach()
. (Ice4bf)
Verhaltensänderungen
SavedStateRegistry
speichert kein leeres Bundle mehr, wenn kein Status gespeichert werden kann. (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.
Wichtige Änderungen seit Version 1.0.0
ViewTreeSavedStateRegistryOwner
API: Mit einer neuenViewTreeSavedStateRegistryOwner.get(View)
API können Sie die enthalteneSavedStateRegistry
anhand einerView
-Instanz abrufen. Sie müssen auf Activity1.2.0
, Fragment1.3.0
und AppCompat1.3.0-alpha01
oder höher umstellen, um diese Informationen korrekt einzugeben.savedstate-ktx
-Artefakt: Dem neuensavedstate-ktx
-Artefakt wurde einefindViewTreeSavedStateRegistryOwner()
-Kotlin-Erweiterung für die Arbeit mitViewTreeSavedStateRegistryOwner
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 seit 1.1.0-beta01
unverändert 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 seit 1.1.0-alpha01
unverändert 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 freigegeben. Version 1.1.0-alpha01 enthält diese Commits.
Neue Funktionen
- Mit einer neuen
ViewTreeSavedStateRegistryOwner.get(View)
API können Sie die enthalteneSavedStateRegistry
anhand einerView
-Instanz abrufen. Sie müssen ein Upgrade auf Activity1.2.0-alpha05
, Fragment1.3.0-alpha05
und AppCompat1.3.0-alpha01
ausführen, um dieses Feld korrekt auszufüllen. (aosp/1298679) - Dem neuen
savedstate-ktx
-Artefakt wurde einefindViewTreeSavedStateRegistryOwner()
-Kotlin-Erweiterung für die Arbeit mitViewTreeSavedStateRegistryOwner
hinzugefügt. (aosp/1299434)
Version 1.0.0
Version 1.0.0
5. September 2019
androidx.savedstate:savedstate:1.0.0
wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Hauptfunktionen von SavedState 1.0.0
androidx.savedstate
wurde in eine stabile Version überführt. Diese APIs ermöglichen es Entwicklern, Komponenten in den Prozess zum Wiederherstellen / Speichern des Instance-Status einzubinden. Der Haupteingangspunkt der API ist SavedStateRegistry
. Über consumeRestoredStateForKey
können Sie zuvor gespeicherte Status abrufen und einen Rückruf an registerSavedStateProvider
registrieren, 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 veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Fehlerkorrekturen
- Falsche ProGuard-Regel korrigiert (b/132655499)
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
wird veröffentlicht. In androidx.savedstate:savedstate
werden die Artefakte androidx.savedstate:savedstate-bundle
und androidx.savedstate:savedstate-common
zu einem einzigen Artefakt kombiniert, da die SavedState-Infrastruktur vereinfacht und die Generiken aus SavedStateRegistry
entfernt wurden. Daher sind keine separaten Module erforderlich.
Eine vollständige Liste der Commits in dieser Version finden Sie hier.
Neue Funktionen
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )
wurde hinzugefügt. Die angegebene Klasse wird instanziiert und die MethodeAutoRecreated.onRecreated
wird ausgeführt, wenn die Eigentümerkomponente neu gestartet wird.
API-Änderungen
- Generika aus
SavedStateRegistry<T>
entfernt - AbstractSavedStateRegistry und BundlableSavedStateRegistry wurden entfernt. Verwenden Sie stattdessen einfach
SavedStateRegistry
. BundleSavedStateRegistryOwner
wird inSavedStateRegistryOwner
umbenannt
Version 1.0.0-alpha01
17. Dezember 2018
Dies ist die erste Version von SavedState
.
Neue Funktionen
androidx.savedstate
ist eine neue Reihe von Alpha-APIs, mit denen Entwickler Komponenten in den Prozess zum Wiederherstellen / Speichern des Instance-Status einbinden können. Der Haupteingangspunkt der API ist SavedStateRegistry<T>
. Über consumeRestoredStateForKey
können Sie den zuvor gespeicherten Status abrufen und einen Rückruf an registerSavedStateProvider
registrieren, um den Status bereitzustellen, sobald das System ihn anfordert.