Speicherpunkt
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
2. Juli 2025 | 1.3.1 | - | – | - |
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 App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
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") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es 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 ein neues erstellen. Sie können für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
Version 1.3
Version 1.3.0
7. Mai 2025
androidx.savedstate:savedstate-*:1.3.0
wird veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
LocalSavedStateRegistryOwner
wurde von Compose UI in das neue Modulsavedstate-compose
verschoben, damit die Compose-basierten Hilfs-APIs außerhalb von Compose UI verwendet werden können. Diese Funktion sollte immer verwendet werden, wenn Sie Compose UI1.9.0-alpha02
oder höher verwenden. Sie ist jedoch abwärtskompatibel und kann mit allen Versionen von Compose verwendet werden.- Die
savedstate-ktx
-Kotlin-Erweiterungen wurden in das Basismodul „savedstate“ verschoben. SavedStateRegistryOwner
-Instanzen, die überfindViewTreeSavedStateRegistryOwner
abgerufen werden, können jetzt über disjunkte übergeordnete Elemente einer Ansicht, z. B. eineViewOverlay
, aufgelöst werden. Weitere Informationen zu disjunkten Ansichtseltern finden Sie in den Versionshinweisen von core oder in der Dokumentation unterViewTree.setViewTreeDisjointParent
.
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. Der undurchsichtige Typ
SavedState
wird als Abstraktion eingeführt, um eine einheitliche Möglichkeit zum Speichern und Wiederherstellen des Anwendungsstatus in KMP zu bieten. Sie enthält einSavedStateReader
und einSavedStateWriter
zum Ändern des zu speichernden Status. Unter Android istSavedState
ein Typalias fürBundle
. Dadurch wird die binäre Kompatibilität gewährleistet und die Migration vorhandener APIs zu einem gemeinsamen Quellset erleichtert. Auf anderen Plattformen istSavedState
eineMap<String, Any>
-Instanz.// 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") }
Unterstützung für KotlinX-Serialisierung
SavedState
bietet jetzt Unterstützung für KotlinX Serialization. Sie können eine mit@Serializable
annotierte Klasse mit den MethodenencodeToSavedState
unddecodeFromSavedState
in einSavedState
umwandeln. Die zurückgegebeneSavedState
ist ein reguläresBundle
unter Android und kann von jeder API verwendet werden, die einBundle
akzeptiert.@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) }
Die meisten Typen (z. B. primitive Typen) werden direkt unterstützt, ohne dass eine Konfiguration erforderlich ist. Zusätzliche Serializer, die mit
@Serializable(with = ___:class)
verwendet werden können, finden Sie imandroidx.savedstate.serialization.serializers
-Paket imsavedstate
-Modul und imandroidx.savedstate.compose.serialization.serializers
-Paket imsavedstate-compose
-Modul.Außerdem haben wir
saved
, einen Lazy-Property-Delegate, eingefügt, um das Speichern von@Serializable
-Klassen in einemSavedStateRegistryOwner
zu vereinfachen (z.B.ComponentActivity
,Fragment
usw.) und diese Klassen automatisch nach dem Beenden und erneuten Erstellen des Prozesses wiederherstellen. Dersaved
-Delegate ist lazy und ruft dieinit
-Lambda-Funktion erst auf oder speichert erst dann etwas inSavedStateRegistry
, wenn darauf zugegriffen wird.@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") } }
In Lifecycle
2.9.0
wurde ein ähnlichersaved
-Property-Delegate fürSavedStateHandle
hinzugefügt.
Version 1.3.0-rc01
23. April 2025
androidx.savedstate:savedstate-*:1.3.0-rc01
wird veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Version 1.3.0-beta01
9. April 2025
androidx.savedstate:savedstate-*:1.3.0-beta01
wird veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Abhängigkeitsupdates
- Diese Bibliothek ist jetzt auf das Kotlin 2.0-Sprachniveau ausgerichtet und erfordert KGP 2.0.0 oder höher. (Idb6b5)
Version 1.3.0-alpha11
26. März 2025
androidx.savedstate:savedstate-*:1.3.0-alpha11
wird ohne nennenswerte öffentliche Änderungen veröffentlicht. Version 1.3.0-alpha11 enthält diese Commits.
Version 1.3.0-alpha10
12. März 2025
androidx.savedstate:savedstate-*:1.3.0-alpha10
wird veröffentlicht. Version 1.3.0-alpha10 enthält diese Commits.
Neue Funktionen
- Fügen Sie nicht reifizierte Methodenvarianten für
get
-Sammlungen inSavedStateReader
hinzu. (I0b641, b/399820614) - Fügen Sie
encodeDefaults
zuSavedStateConfiguration
hinzu, um anzupassen, ob Properties mit Standardwerten codiert werden sollen. (I893cc, b/395104517) - Fügen Sie
SnapshotStateMapSerializer
hinzu, ummutableStateMapOf
zu unterstützen. (Ie6f19, b/378895074) - Fügen Sie
SnapshotStateListSerializer
hinzu, ummutableStateListOf
zu unterstützen. (I4d888, b/378895074) - Fügen Sie
getOrNull
alternative Methoden fürSavedStateReader.get
-Varianten hinzu. Bei diesen Methoden werden primitive Werte automatisch in ein Objekt verpackt. (I6228c, b/399820614)
API-Änderungen
- Entfernen Sie
getOrElse
ausSavedStateReader
und verwenden Sie stattdessengetOrNull() ?: else()
. (I87317, b/399820614) - Entfernen Sie den Modifikator
inline
aus den MethodenSavedStateReader
undSavedStateWriter
. (If2a02, b/399820614) - Entfernen der integrierten Android-spezifischen Serialisierungsprogramme für Listen und Arrays aus der öffentlichen API (Ida293)
- Ersetzen Sie
SparseParcelableArraySerializer
durchSparseArraySerializer
(I91de8). - Sorgen Sie dafür, dass sich alle
SavedStateReader.get
konsistent verhalten, indem Sie einen Fehler auslösen, wenn der Werttyp nicht mit dem Rückgabetyp übereinstimmt (I78c4a, b/399317598). - Benennen Sie
SavedState*Delegates
inSavedState*Delegate
um. (I8589b, b/399629301) - Benennen Sie
SavedStateConfig
inSavedStateConfiguration
um. (I043a5, b/399629301)
Version 1.3.0-alpha09
26. Februar 2025
androidx.savedstate:savedstate-*:1.3.0-alpha09
wird veröffentlicht. Version 1.3.0-alpha09 enthält diese Commits.
Neue Funktionen
- Fügen Sie einen Fallback für integrierte Typen hinzu, damit alle von
Bundle
unterstützten Typen standardmäßig mitencodeAsSavedState
/decodeFromSavedState
oder für Attribute in@Serializable
-Klassen über die Annotation@Contextual
verwendet werden können. (Ic01d2) - Unterstützung für
classDiscriminator
undclassDiscriminatorMode
aufSavedStateConfig
einbinden (I69b66, b/395104517)
API-Änderungen
SavedStateConfig
-Parameter zusaved()
-Delegaten hinzufügen (I39b3a)- Integrierte Serializer werden zu Singleton-Objekten (Ifeee4)
SavedStateConfig
-Eigenschaften sind jetzt öffentlich, sodass andere Module diese Konfigurationen verwenden können. (Ie5f49, b/378897438)- Unterstützung von
@Serializer(with = ...)
fürMutableStateFlowSerializer
undMutableStateSerializer
(I90953) contentDeepToString
zuSavedStateReader
hinzufügen (I14d10)
Version 1.3.0-alpha08
12. Februar 2025
androidx.savedstate:savedstate-*:1.3.0-alpha08
wird veröffentlicht. Version 1.3.0-alpha08 enthält diese Commits.
Neue Funktionen
MutableStateSerializer
wird vonlifecycle-viewmodel-compose
nachsavedstate-compose
verschoben, sodass Sie die SavedState Serialization APIs mitMutableState
von Compose verwenden können. (I4f690, b/378895074)
API-Änderungen
- Fügen Sie eine Factory-Funktion hinzu, um
SavedState
aus einem vorhandenenSavedState
zu erstellen. (I39f9a) - Unterstützung für
Array<SavedState>
undList<SavedState>
inandroidx.savedstate
hinzugefügt. (Idd8a5) SavedStateConfig
-Optional-Parameter für die Codierung/Decodierung von SavedState hinzugefügt (I6c4c0)
Version 1.3.0-alpha07
29. Januar 2025
androidx.savedstate:savedstate-*:1.3.0-alpha07
wird veröffentlicht. Version 1.3.0-alpha07 enthält diese Commits.
Neue Funktionen
MutableStateFlowSerializer
zum Serialisieren vonkotlinx.coroutines.flow.MutableStateFlow
hinzugefügt. (I6a892, b/378895070)
API-Änderungen
- Überladene
SavedStateRegistryOwner.saved()
-Delegatfunktionen durch Standardparameter ersetzen (Icd1c1) JavaSerializableSerializer
undParcelableSerializer
abstrahieren (I268f6)- Entfernen Sie die generische
T : CharSequence
ausCharSequenceSerializer
(Ib40bd).
Version 1.3.0-alpha06
11. Dezember 2024
androidx.savedstate:savedstate-*:1.3.0-alpha06
wird veröffentlicht. Version 1.3.0-alpha06 enthält diese Commits.
Neue Funktionen
SavedState
KMP unterstützt jetzt:IBinder
,Size
,SizeF
,Array<Parcelable>
,SparseArray<Parcelable>
und Serializable (Android). (I1ba94, b/334076622)- Fügen Sie
KSerializer
-Instanzen hinzu, die zum Codieren/Decodieren von Java- und Android-Typen verwendet werden können, die von „Bundle“ unterstützt werden. Markieren Sie dazu das entsprechende Feld in Ihrer Klasse mit@Serializable(with = ParcelableSerializer::class)
. (I8c10f, I28caf, b/376026712) SavedStateRegistryOwner
-Instanzen, die überfindViewTreeSavedStateRegistryOwner
abgerufen werden, können jetzt über disjunkte übergeordnete Elemente einer Ansicht, z. B. eineViewOverlay
, aufgelöst werden. Weitere Informationen zu disjunkten Ansichtseltern finden Sie in den Versionshinweisen von core oder in der Dokumentation unterViewTree.setViewTreeDisjointParent
. (Iccb33)
API-Änderungen
- Die Benennung und Paketorganisation müssen konsistenter mit
SavedStateRegistryOwnerDelegate
sein (I8c135, b/376026744).
Version 1.3.0-alpha05
13. November 2024
androidx.savedstate:savedstate-*:1.3.0-alpha05
wird veröffentlicht. Version 1.3.0-alpha05 enthält diese Commits.
Unterstützung für KotlinX-Serialisierung
SavedState
bietet jetzt Unterstützung für KotlinX Serialization. Sie können eine mit@Serializable
annotierte Klasse mit den MethodenencodeToSavedState
unddecodeFromSavedState
in einSavedState
umwandeln. Die zurückgegebeneSavedState
ist ein reguläresBundle
unter Android und kann von jeder API verwendet werden, die einBundle
akzeptiert. (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) }
Außerdem haben wir
saved
, einen Lazy-Property-Delegate, eingefügt, um das Speichern von@Serializable
-Klassen in einemSavedStateRegistryOwner
zu vereinfachen (z.B.ComponentActivity
,Fragment
usw.) und diese Klassen automatisch nach dem Beenden und erneuten Erstellen des Prozesses wiederherstellen. Dersaved
-Delegate ist lazy und ruft dieinit
-Lambda-Funktion erst auf oder speichert erst dann etwas inSavedStateRegistry
, wenn darauf zugegriffen wird. (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") } }
In Lifecycle
2.9.0-alpha07
wurde ein ähnlichersaved
-Property-Delegate fürSavedStateHandle
hinzugefügt.
API-Änderungen
toMap
wurde zuSavedState
hinzugefügt, sodass jedesSavedState
in ein reguläresMap
(flache Kopie) konvertiert werden kann. (I487b9, b/334076622)SavedState
KMP unterstützt jetzt Arrays. (Ic0552, b/334076622)
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
zum SavedState KMP hinzu. (Iea71d, b/334076622) - Zusätzliche
savedState
-Fabrikparameter für eine ersteMap<String, Any>
hinzufügen (I9b37d, b/334076622) - Die 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
- Der undurchsichtige Typ
SavedState
wird als Abstraktion eingeführt, um eine einheitliche Möglichkeit zum Speichern und Wiederherstellen des Anwendungsstatus in KMP zu bieten. Sie enthält einSavedStateReader
und einSavedStateWriter
zum Ändern des zu speichernden Status. Unter Android istSavedState
ein Typalias fürBundle
. Dadurch wird die binäre Kompatibilität gewährleistet und die Migration vorhandener APIs zu einem gemeinsamen Quellset 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 veröffentlicht. 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)
Note
compileSdk
auf Version 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
werden veröffentlicht. Version 1.2.1 enthält diese Commits.
Abhängigkeitsupdates
SavedState
ist jetzt von Lebenszyklus2.6.1
abhängig. (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 veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
SavedStateRegistryController
ermöglicht jetzt das vorzeitige Anhängen vonSavedStateRegistry
überperformAttach()
.- Sie können jetzt eine zuvor registrierte
SavedStateProvider
übergetSavedStateProvider()
von einemSavedStateRegistry
abrufen. - Die
SavedState
-Bibliothek wurde in Kotlin neu geschrieben.- Für
SavedStateRegistryOwner
ist dies eine quelleninkompatible Änderung für die in Kotlin geschriebenen Klassen. Sie müssen jetzt die PropertysavedStateRegistry
überschreiben, anstatt die vorherige FunktiongetSavedStateRegistry()
zu implementieren. - Für
ViewTreeSavedStateRegistryOwner
ist dies eine quelleninkompatible Ä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. Sie ersetzt diesavedstate-ktx
API vonfindViewTreeSavedStateRegistryOwner
.
- Für
Geändertes Verhalten
SavedStateRegistry
speichert kein leeres Bundle mehr, wenn kein Status gespeichert werden muss.
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 in Bezug auf die Implementierung der Schnittstelle oder den Aufruf der Methoden fürSavedStateRegistryController
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
undViewTreeSavedStateRegistryOwner
wurden in Kotlin neu geschrieben. FürViewTreeSavedStateRegistryOwner
ist dies eine quelleninkompatible Ä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. Sie ersetzt diesavedstate-ktx
API vonfindViewTreeSavedStateRegistryOwner
. Dies ist binärkompatibel und bleibt für Implementierungen, die in der Programmiersprache Java geschrieben wurden, 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 eine zuvor registrierte
SavedStateProvider
übergetSavedStateProvider()
von einemSavedStateRegistry
abrufen. (I7ea47, b/215406268)
API-Änderungen
- Die Klassen
SavedStateRegistryOwner
,SavedStateRegistryController
undRecreator
wurden in Kotlin neu geschrieben. FürSavedStateRegistryOwner
ist dies eine quelleninkompatible Änderung für die in Kotlin geschriebenen Klassen. Sie müssen jetzt die PropertysavedStateRegistry
überschreiben, anstatt die vorherige FunktiongetSavedStateRegistry()
zu implementieren. Dies ist binärkompatibel und quellcodekompatibel 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 frühe Anhängen vonSavedStateRegistry
überperformAttach()
. (Ice4bf)
Geändertes Verhalten
SavedStateRegistry
speichert kein leeres Bundle mehr, wenn kein Status gespeichert werden muss. (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 neuenViewTreeSavedStateRegistryOwner.get(View)
API können Sie die enthaltendeSavedStateRegistry
für eineView
-Instanz abrufen. Sie müssen auf Activity1.2.0
, Fragment1.3.0
und AppCompat1.3.0-alpha01
oder höher aktualisieren, damit die Daten korrekt ausgegeben werden.savedstate-ktx
-Artefakt: Das neuesavedstate-ktx
-Artefakt wurde mit einerfindViewTreeSavedStateRegistryOwner()
-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 ohne Änderungen seit 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 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 das enthaltendeSavedStateRegistry
für eineView
-Instanz abrufen. Sie müssen auf Activity1.2.0-alpha05
, Fragment1.3.0-alpha05
und AppCompat1.3.0-alpha01
aktualisieren, damit die Daten korrekt ausgegeben werden. (aosp/1298679) - Das neue
savedstate-ktx
-Artefakt wurde mit einerfindViewTreeSavedStateRegistryOwner()
-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.
Wichtige Funktionen von SavedState 1.0.0
androidx.savedstate
ist jetzt eine stabile Version. Dies ist eine Reihe von APIs, mit denen Entwickler Komponenten in den Prozess „restore / saveInstanceState“ einfügen können. Der Haupteinstiegspunkt der API ist SavedStateRegistry
. Damit können Sie zuvor gespeicherte Zustände mit consumeRestoredStateForKey
abrufen und einen Callback für registerSavedStateProvider
registrieren, um einen gespeicherten Zustand 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
wird 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. androidx.savedstate:savedstate
kombiniert die Artefakte androidx.savedstate:savedstate-bundle
und androidx.savedstate:savedstate-common
in einem Artefakt, da die Infrastruktur für den gespeicherten Status vereinfacht und Generics aus SavedStateRegistry
entfernt werden sollen. Daher sind keine separaten Module erforderlich.
Eine 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 MethodeAutoRecreated.onRecreated
wird ausgeführt, wenn die zugehörige Komponente neu gestartet wird.
API-Änderungen
- Generika aus
SavedStateRegistry<T>
entfernt - „AbstractSavedStateRegistry“ und „BundlableSavedStateRegistry“ wurden entfernt. Verwenden Sie stattdessen
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 Instanzstatus einfügen können. Der Haupteinstiegspunkt der API ist SavedStateRegistry<T>
. Damit können Sie den zuvor gespeicherten Status über consumeRestoredStateForKey
abrufen und einen Callback für registerSavedStateProvider
registrieren, um einen gespeicherten Status bereitzustellen, sobald das System ihn anfordert.