Savedstate
| Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
|---|---|---|---|---|
| 22 octobre 2025 | 1.3.3 | 1.4.0-rc01 | - | - |
Déclarer des dépendances
Pour ajouter une dépendance sur SavedState, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :
Groovy
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.3.3" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.3.3" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.3.3") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.3.3") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.4
Version 1.4.0-rc01
22 octobre 2025
androidx.savedstate:savedstate-*:1.4.0-rc01 est publié sans modification depuis la version 1.4.0-beta01. La version 1.4.0-rc01 contient ces commits.
Version 1.4.0-beta01
8 octobre 2025
Publication d'androidx.savedstate:savedstate-*:1.4.0-beta01 sans modification notable par rapport à la dernière version alpha. La version 1.4.0-beta01 contient ces commits.
Version 1.4.0-alpha03
27 août 2025
Publication d'androidx.savedstate:savedstate-*:1.4.0-alpha03. La version 1.4.0-alpha03 contient ces commits.
Modifications apportées à l'API
- Ajout de la prise en charge des types pouvant être nuls dans
encodeToSavedStateetdecodeFromSavedState. (I79062, b/439527454) - Mettez à jour Compose vers la version 1.9.0. (I2b9de)
Version 1.4.0-alpha02
13 août 2025
Publication d'androidx.savedstate:savedstate-*:1.4.0-alpha02. La version 1.4.0-alpha02 contient ces commits.
Version 1.4.0-alpha01
30 juillet 2025
Publication d'androidx.savedstate:savedstate-*:1.4.0-alpha01. La version 1.4.0-alpha01 contient ces commits.
Modifications apportées à l'API
- Ajout de la prise en charge native des types Nullable dans
SavedStateRegistryOwner.saved, ce qui simplifie l'enregistrement et la restauration des propriétés Nullable. (Ia632, b/421325690)
Version 1.3
Version 1.3.3
17 septembre 2025
Publication d'androidx.savedstate:savedstate-*:1.3.3. La version 1.3.3 contient ces commits.
Correction de bugs
- Correction d'une erreur liée à l'échec de l'application du plug-in Compose Compiler, qui entraînait la rupture des artefacts KMP
SavedState. (Id2290, b/443965665)
Version 1.3.2
27 août 2025
Publication d'androidx.savedstate:savedstate-*:1.3.2. La version 1.3.2 contient ces commits.
Nouvelles fonctionnalités
- Ajoutez de nouvelles cibles Kotlin Multiplatform (KMP) à l'artefact SavedState
*-compose. Lifecycle est désormais compatible avec les plates-formes suivantes : JVM (Android et Desktop), Native (Linux, iOS, watchOS, macOS, MinGW) et Web (JavaScript, WasmJS). (/Idcf26)
Version 1.3.1
16 juillet 2025
Publication d'androidx.savedstate:savedstate-*:1.3.1. La version 1.3.1 contient ces commits.
Correction de bugs
- Ajoutez tous les cibles KMP compatibles avec les annotations aux artefacts
SavedState. - Ajout de nouvelles cibles Kotlin Multiplatform (KMP) aux artefacts
SavedState.SavedStateest désormais compatible avec les plates-formes suivantes : JVM (Android et Desktop), Native (Linux, iOS, watchOS, macOS, MinGW) et Web (JavaScript, WasmJS). Notez qu'aucune nouvelle cible KMP n'a été ajoutée aux artefacts*-compose, car cela dépend de la version stable de Compose 1.9. (I062f4).
Version 1.3.0
7 mai 2025
Publication d'androidx.savedstate:savedstate-*:1.3.0. La version 1.3.0 contient ces commits.
Changements importants depuis la version 1.2.0
LocalSavedStateRegistryOwnera été déplacé de Compose UI vers le nouveau modulesavedstate-composeafin que ses API d'assistance basées sur Compose puissent être utilisées en dehors de Compose UI. Cette méthode doit toujours être utilisée avec Compose UI1.9.0-alpha02et les versions ultérieures, mais elle est rétrocompatible et peut donc être utilisée avec toutes les versions de Compose.- Les extensions Kotlin
savedstate-ktxont été déplacées vers le module savedstate de base. - Les instances
SavedStateRegistryOwnerrécupérées viafindViewTreeSavedStateRegistryOwnerpeuvent désormais être résolues par le biais de parents disjoints d'une vue, commeViewOverlay. Pour en savoir plus sur les parents de vues disjointes, consultez les notes de version de core ou la documentation dansViewTree.setViewTreeDisjointParent.
Kotlin Multiplatform
- Le module
SavedStateest désormais compatible avec KMP. Les plates-formes compatibles incluent désormais les environnements de bureau Android, iOS, Linux, Mac et JVM. Introduction du type opaque
SavedStateen tant qu'abstraction pour fournir un moyen cohérent d'enregistrer et de restaurer l'état de l'application dans KMP. Il inclut unSavedStateReaderet unSavedStateWriterpour modifier l'état à enregistrer. Sur Android,SavedStateest un alias de type pourBundle, ce qui garantit la compatibilité binaire et facilite la migration des API existantes vers un ensemble de sources commun. Sur les autres plates-formes,SavedStateest une instanceMap<String, Any>.// 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") }
Compatibilité avec la sérialisation KotlinX
SavedStateest désormais compatible avec KotlinX Serialization. Vous pouvez convertir une classe annotée avec@SerializableenSavedStateà l'aide des méthodesencodeToSavedStateetdecodeFromSavedState. LeSavedStaterenvoyé est unBundlenormal sur Android et peut être utilisé par n'importe quelle API acceptant unBundle.@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) }Alors que la plupart des types (tels que les types primitifs) sont directement compatibles sans aucune configuration requise, vous trouverez des sérialiseurs supplémentaires pouvant être utilisés avec
@Serializable(with = ___:class)dans le packageandroidx.savedstate.serialization.serializersdu modulesavedstateet dans le packageandroidx.savedstate.compose.serialization.serializersdu modulesavedstate-compose.Nous avons également inclus
saved, un délégué de propriété différée, pour faciliter le stockage des classes@Serializabledans unSavedStateRegistryOwner(par exemple,ComponentActivity,Fragment, etc.) et que ces classes soient automatiquement restaurées en cas d'arrêt et de recréation du processus. Veuillez noter que le déléguésavedest différé et n'appellera pas le lambdainitni n'enregistrera quoi que ce soit dansSavedStateRegistrytant qu'il n'y aura pas accès.@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") } }Un délégué de propriété
savedsemblable pourSavedStateHandlea été ajouté dans Lifecycle2.9.0.
Version 1.3.0-rc01
23 avril 2025
Publication d'androidx.savedstate:savedstate-*:1.3.0-rc01. La version 1.3.0-rc01 contient ces commits.
Version 1.3.0-beta01
9 avril 2025
Publication d'androidx.savedstate:savedstate-*:1.3.0-beta01. La version 1.3.0-beta01 contient ces commits.
Mises à jour des dépendances
- Cette bibliothèque cible désormais le langage Kotlin 2.0 et nécessite KGP 2.0.0 ou version ultérieure. (Idb6b5)
Version 1.3.0-alpha11
26 mars 2025
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha11 sans aucune modification publique notable. La version 1.3.0-alpha11 contient ces commits.
Version 1.3.0-alpha10
12 mars 2025
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha10. La version 1.3.0-alpha10 contient ces commits.
Nouvelles fonctionnalités
- Ajout de variantes de méthodes non réifiées pour les collections
getdansSavedStateReader. (I0b641, b/399820614) - Ajout de
encodeDefaultsàSavedStateConfiguration, ce qui permet de personnaliser l'encodage des propriétés avec des valeurs par défaut. (I893cc, b/395104517) - Ajoutez
SnapshotStateMapSerializerpour prendre en chargemutableStateMapOf. (Ie6f19, b/378895074) - Ajoutez
SnapshotStateListSerializerpour prendre en chargemutableStateListOf. (I4d888, b/378895074) - Ajoutez des méthodes alternatives
getOrNullpour les variantesSavedStateReader.get. Ces méthodes encapsuleront automatiquement les valeurs primitives. (I6228c, b/399820614)
Modifications apportées à l'API
- Supprimez
getOrElsedeSavedStateReaderet remplacez-le pargetOrNull() ?: else(). (I87317, b/399820614) - Supprimez le modificateur
inlinedes méthodesSavedStateReaderetSavedStateWriter. (If2a02, b/399820614) - Suppression des sérialiseurs de liste et de tableau intégrés spécifiques à Android de l'API publique (Ida293)
- Remplacement de
SparseParcelableArraySerializerparSparseArraySerializer(I91de8) - Rendre tous les
SavedStateReader.getcohérents en générant une exception lorsque le type de valeur ne correspond pas au type de retour (I78c4a, b/399317598) SavedState*Delegatesa été renomméSavedState*Delegate. (I8589b, b/399629301)SavedStateConfiga été renomméSavedStateConfiguration. (I043a5, b/399629301)
Version 1.3.0-alpha09
26 février 2025
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha09. La version 1.3.0-alpha09 contient ces commits.
Nouvelles fonctionnalités
- Ajoutez un fallback pour les types intégrés, en veillant à ce que tous les types compatibles avec
Bundlepuissent être utilisés avecencodeAsSavedState/decodeFromSavedStatepar défaut ou, pour les propriétés des classes@Serializable, via l'annotation@Contextual. (Ic01d2) - Incluez la prise en charge de
classDiscriminatoretclassDiscriminatorModesurSavedStateConfig. (I69b66, b/395104517)
Modifications apportées à l'API
- Ajout du paramètre
SavedStateConfigaux déléguéssaved()(I39b3a) - Les sérialiseurs intégrés sont désormais des objets singleton (Ifeee4).
- Les propriétés
SavedStateConfigsont désormais publiques, ce qui permet à d'autres modules d'utiliser ces configurations. (Ie5f49, b/378897438) - Prise en charge de
@Serializer(with = ...)pourMutableStateFlowSerializeretMutableStateSerializer(I90953) - Ajout de
contentDeepToStringàSavedStateReader(I14d10).
Version 1.3.0-alpha08
12 février 2025
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha08. La version 1.3.0-alpha08 contient ces commits.
Nouvelles fonctionnalités
- Déplacez
MutableStateSerializerverssavedstate-composedepuislifecycle-viewmodel-compose, ce qui vous permet d'utiliser les API de sérialisation SavedState avecMutableStatede Compose. (I4f690, b/378895074)
Modifications apportées à l'API
- Ajoutez une fonction de fabrique pour créer
SavedStateà partir d'unSavedStateexistant. (I39f9a) - Ajout de la prise en charge de
Array<SavedState>etList<SavedState>dansandroidx.savedstate. (Idd8a5) - Ajout du paramètre facultatif
SavedStateConfigà l'encodage/décodage SavedState (I6c4c0)
Version 1.3.0-alpha07
29 janvier 2025
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha07. La version 1.3.0-alpha07 contient ces commits.
Nouvelles fonctionnalités
- Ajout de
MutableStateFlowSerializerpour la sérialisation dekotlinx.coroutines.flow.MutableStateFlow. (I6a892, b/378895070)
Modifications apportées à l'API
- Remplacer les fonctions déléguées
SavedStateRegistryOwner.saved()surchargées par des paramètres par défaut (Icd1c1) - Rendre
JavaSerializableSerializeretParcelableSerializerabstraits (I268f6) - Suppression de
T : CharSequencegénérique deCharSequenceSerializer(Ib40bd)
Version 1.3.0-alpha06
11 décembre 2024
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha06. La version 1.3.0-alpha06 contient ces commits.
Nouvelles fonctionnalités
SavedState: KMP est désormais compatible avecIBinder,Size,SizeF,Array<Parcelable>,SparseArray<Parcelable>et Serializable (Android). (I1ba94, b/334076622)- Ajoutez des instances
KSerializerpouvant être utilisées pour encoder/décoder les types Java et Android compatibles avec Bundle en marquant le champ concerné dans votre classe avec@Serializable(with = ParcelableSerializer::class). (I8c10f, I28caf, b/376026712) - Les instances
SavedStateRegistryOwnerrécupérées viafindViewTreeSavedStateRegistryOwnerpeuvent désormais être résolues par le biais de parents disjoints d'une vue, commeViewOverlay. Pour en savoir plus sur les parents de vues disjointes, consultez les notes de version de core ou la documentation dansViewTree.setViewTreeDisjointParent. (Iccb33)
Modifications apportées à l'API
- Rendre les noms et l'organisation des packages plus cohérents avec
SavedStateRegistryOwnerDelegate(I8c135, b/376026744)
Version 1.3.0-alpha05
13 novembre 2024
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha05. La version 1.3.0-alpha05 contient ces commits.
Compatibilité avec la sérialisation KotlinX
SavedStateest désormais compatible avec KotlinX Serialization. Vous pouvez convertir une classe annotée avec@SerializableenSavedStateà l'aide des méthodesencodeToSavedStateetdecodeFromSavedState. LeSavedStaterenvoyé est unBundlenormal sur Android et peut être utilisé par n'importe quelle API acceptant unBundle. (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) }Nous avons également inclus
saved, un délégué de propriété différée, pour faciliter le stockage des classes@Serializabledans unSavedStateRegistryOwner(par exemple,ComponentActivity,Fragment, etc.) et que ces classes soient automatiquement restaurées en cas d'arrêt et de recréation du processus. Veuillez noter que le déléguésavedest différé et n'appellera pas le lambdainitni n'enregistrera quoi que ce soit dansSavedStateRegistrytant qu'il n'y aura pas accès. (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") } }Un délégué de propriété
savedsemblable pourSavedStateHandlea été ajouté dans Lifecycle2.9.0-alpha07.
Modifications apportées à l'API
- Ajoutez
toMapàSavedState, ce qui permet de convertir n'importe quelSavedStateenMapstandard (copie superficielle). (I487b9, b/334076622) SavedStateKMP est désormais compatible avec les tableaux. (Ic0552, b/334076622)
Version 1.3.0-alpha04
30 octobre 2024
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha04. La version 1.3.0-alpha04 contient ces commits.
Modifications apportées à l'API
- SavedState KMP est désormais compatible avec Char. (I9ac2f, b/334076622)
- Ajoutez
putNulletisNullà SavedState KMP. (Iea71d, b/334076622) - Ajout de paramètres de fabrique
savedStatesupplémentaires prenant en charge unMap<String, Any>initial (I9b37d, b/334076622) - SavedState KMP est désormais compatible avec la comparaison
contentDeepEquals. (Ia515c, b/334076622) - SavedState KMP est désormais compatible avec Long. (I4c180, b/334076622)
Version 1.3.0-alpha03
16 octobre 2024
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha03 sans modification notable. La version 1.3.0-alpha03 contient ces commits.
Version 1.3.0-alpha02
2 octobre 2024
Publication d'androidx.savedstate:savedstate-*:1.3.0-alpha02. La version 1.3.0-alpha02 contient ces commits.
Kotlin Multiplatform
- Le module
SavedStateest désormais compatible avec KMP. Les plates-formes compatibles incluent désormais les environnements de bureau Android, iOS, Linux, Mac et JVM. (I26305, b/334076622)
Nouvelles fonctionnalités
- Introduction du type opaque
SavedStateen tant qu'abstraction pour fournir un moyen cohérent d'enregistrer et de restaurer l'état de l'application dans KMP. Il inclut unSavedStateReaderet unSavedStateWriterpour modifier l'état à enregistrer. Sur Android,SavedStateest un alias de type pourBundle, ce qui garantit la compatibilité binaire et facilite la migration des API existantes vers un ensemble de sources commun. Sur les autres plates-formes,SavedStateest une instanceMap<String, Any>. (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")
}
Modifications apportées à l'API
SavedStateRegistryetSavedStateRegistryControllersont désormais compatibles avec KMP. (Id7bb8, b/334076622)SavedState,SavedStateWriteretSavedStateReadersont désormais compatibles avec KMP. (I26305, b/334076622)
Version 1.3.0-alpha01
7 août 2024
Publication d'androidx.savedstate:savedstate:1.3.0-alpha01 et d'androidx.savedstate:savedstate-ktx:1.3.0-alpha01. La version 1.3.0-alpha01 contient ces commits.
Modifications apportées à l'API
- Les extensions Kotlin
savedstate-ktxont été déplacées vers le module savedstate de base. (I1cc18, b/274803094)
Commentaire
- Mettre à jour
compileSdkvers la version 35 (5dc41be)
Version 1.2.1
Version 1.2.1
22 mars 2023
Publication d'androidx.savedstate:savedstate:1.2.1 et d'androidx.savedstate:savedstate-ktx:1.2.1. Liste des commits de la version 1.2.1
Mises à jour des dépendances
SavedStatedépend désormais de Lifecycle2.6.1. (c1f621)
Version 1.2.0
Version 1.2.0
29 juin 2022
Publication d'androidx.savedstate:savedstate:1.2.0 et androidx.savedstate:savedstate-ktx:1.2.0. Liste des commits de la version 1.2.0
Changements importants depuis la version 1.1.0
SavedStateRegistryControllerautorise désormais l'association anticipée deSavedStateRegistryviaperformAttach().- Vous pouvez maintenant récupérer un
SavedStateProviderenregistré précédemment à partir d'unSavedStateRegistryviagetSavedStateProvider(). - La bibliothèque
SavedStatea été réécrite en Kotlin.- Pour
SavedStateRegistryOwner, il s'agit d'une modification incompatible avec la source pour les classes écrites en Kotlin. Vous devez maintenant remplacer la propriétésavedStateRegistryau lieu d'implémenter la fonctiongetSavedStateRegistry()précédente. - Pour
ViewTreeSavedStateRegistryOwner, il s'agit d'une modification incompatible avec la source pour les classes écrites en Kotlin. Vous devez désormais importer et utiliser directement les méthodes d'extension Kotlin surViewdeandroidx.savedstate.setViewTreeSavedStateRegistryOwneretandroidx.savedstate.findViewTreeSavedStateRegistryOwnerpour définir et rechercher un propriétaire défini précédemment. Cette action remplace l'APIsavedstate-ktxdefindViewTreeSavedStateRegistryOwner.
- Pour
Nouveaux comportements
SavedStateRegistryn'enregistre plus un groupe vide s'il n'y a pas d'état à enregistrer.
Version 1.2.0-rc01
11 mai 2022
Publication d'androidx.savedstate:savedstate:1.2.0-rc01 et androidx.savedstate:savedstate-ktx:1.2.0-rc01. Liste des commits de la version 1.2.0-rc01
Modifications de la documentation
- Les Kdocs de
SavedStateRegistryOwneront été mis à jour pour clarifier les responsabilités et le contrat du propriétaire concernant l'implémentation de l'interface ou l'appel des méthodes surSavedStateRegistryController. (Iefc95, b/228887344)
Version 1.2.0-beta01
20 avril 2022
Publication d'androidx.savedstate:savedstate:1.2.0-beta01 et androidx.savedstate:savedstate-ktx:1.2.0-beta01. Liste des commits de la version 1.2.0-beta01
Modifications apportées à l'API
- Les classes
SavedStateRegistryetViewTreeSavedStateRegistryOwneront été réécrites en Kotlin. PourViewTreeSavedStateRegistryOwner, il s'agit d'une modification incompatible avec la source pour les classes écrites en Kotlin. Vous devez désormais importer et utiliser directement les méthodes d'extension Kotlin surViewd'androidx.savedstate.setViewTreeSavedStateRegistryOwneretandroidx.savedstate.findViewTreeSavedStateRegistryOwnerpour définir et rechercher un propriétaire défini précédemment. Cette action remplace l'APIsavedstate-ktxdefindViewTreeSavedStateRegistryOwner. Cette fonctionnalité est compatible avec le binaire et reste compatible avec la source pour les implémentations écrites en langage de programmation Java. (b/220191285)
Version 1.2.0-alpha02
6 avril 2022
Publication d'androidx.savedstate:savedstate:1.2.0-alpha02 et androidx.savedstate:savedstate-ktx:1.2.0-alpha02. Liste des commits de la version 1.2.0-alpha02.
Nouvelles fonctionnalités
- Vous pouvez maintenant récupérer un
SavedStateProviderenregistré précédemment à partir d'unSavedStateRegistryviagetSavedStateProvider(). (I7ea47, b/215406268)
Modifications apportées à l'API
- Les classes
SavedStateRegistryOwner,SavedStateRegistryControlleretRecreatoront été réécrites en Kotlin. PourSavedStateRegistryOwner, il s'agit d'une modification incompatible avec la source pour les classes écrites en Kotlin. Vous devez maintenant remplacer la propriétésavedStateRegistryau lieu d'implémenter la fonctiongetSavedStateRegistry()précédente. Cette fonctionnalité est compatible avec le binaire et la source pour les implémentations écrites en langage de programmation Java. (b/220191285)
Version 1.2.0-alpha01
26 janvier 2022
Publication d'androidx.savedstate:savedstate:1.2.0-alpha01 et androidx.savedstate:savedstate-ktx:1.2.0-alpha01. Liste des commits de la version 1.2.0-alpha01
Nouvelles fonctionnalités
SavedStateRegistryControllerautorise désormais l'association anticipée deSavedStateRegistryviaperformAttach(). (Ice4bf)
Nouveaux comportements
SavedStateRegistryn'enregistre plus un groupe vide s'il n'y a pas d'état à enregistrer. (aosp/1896865, b/203457956)
Version 1.1.0
Version 1.1.0
10 février 2021
Publication d'androidx.savedstate:savedstate:1.1.0 et androidx.savedstate:savedstate-ktx:1.1.0. Liste des commits de la version 1.1.0
Principales modifications depuis la version 1.0.0
- API
ViewTreeSavedStateRegistryOwner: Une nouvelle APIViewTreeSavedStateRegistryOwner.get(View)vous permet de récupérer le conteneurSavedStateRegistryen fonction d'une instanceView. Vous devez passer à Activity1.2.0, Fragment1.3.0et AppCompat1.3.0-alpha01ou version ultérieure pour renseigner correctement ce champ. - Artefact
savedstate-ktx: le nouvel artefactsavedstate-ktxa été ajouté avec une extension KotlinfindViewTreeSavedStateRegistryOwner()pour travailler avecViewTreeSavedStateRegistryOwner.
Version 1.1.0-rc01
16 décembre 2020
Publication d'androidx.savedstate:savedstate:1.1.0-rc01 et d'androidx.savedstate:savedstate-ktx:1.1.0-rc01 sans modification par rapport à la version 1.1.0-beta01. Liste des commits de la version 1.1.0-rc01
Version 1.1.0-beta01
1er octobre 2020
Publication d'androidx.savedstate:savedstate:1.1.0-beta01 et d'androidx.savedstate:savedstate-ktx:1.1.0-beta01 sans modification par rapport à la version 1.1.0-alpha01. Liste des commits de la version 1.1.0-beta01
Version 1.1.0-alpha01
20 mai 2020
Publication d'androidx.savedstate:savedstate:1.1.0-alpha01 et androidx.savedstate:savedstate-ktx:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01
Nouvelles fonctionnalités
- Une nouvelle API
ViewTreeSavedStateRegistryOwner.get(View)vous permet de récupérer le conteneurSavedStateRegistryen fonction d'une instanceView. Vous devez passer à Activity1.2.0-alpha05, Fragment1.3.0-alpha05et AppCompat1.3.0-alpha01pour renseigner ces éléments correctement. (aosp/1298679) - Le nouvel artefact
savedstate-ktxa été ajouté avec une extension KotlinfindViewTreeSavedStateRegistryOwner()pour travailler avecViewTreeSavedStateRegistryOwner. (aosp/1299434)
Version 1.0.0
Version 1.0.0
5 septembre 2019
Publication d'androidx.savedstate:savedstate:1.0.0. Les commits inclus dans cette version sont disponibles sur cette page.
Principales fonctionnalités de la version 1.0.0 de SavedState
androidx.savedstate est passé à une version stable. Il s'agit d'un ensemble d'API permettant aux développeurs d'insérer des composants dans le processus restore/saveInstanceState. Le principal point d'entrée de l'API est SavedStateRegistry, qui permet de récupérer les états précédemment enregistrés à l'aide de consumeRestoredStateForKey et d'enregistrer un rappel à registerSavedStateProvider pour fournir un état enregistré une fois que le système l'a demandé.
Version 1.0.0-rc01
2 juillet 2019
Publication d'androidx.savedstate:savedstate:1.0.0-rc01. Les commits inclus dans cette version sont disponibles sur cette page.
Correction de bugs
- Correction d'une règle ProGuard incorrecte (b/132655499)
Version 1.0.0-beta01
7 mai 2019
Publication d'androidx.savedstate:savedstate:1.0.0-beta01. Les commits inclus dans cette version sont disponibles sur cette page.
Version 1.0.0-alpha02
13 mars 2019
Publication d'androidx.savedstate:savedstate:1.0.0-alpha02. androidx.savedstate:savedstate combine les artefacts androidx.savedstate:savedstate-bundle et androidx.savedstate:savedstate-common en un seul, car il a été décidé de simplifier l'infrastructure savedstate et de supprimer les éléments génériques de SavedStateRegistry. Il n'est donc pas nécessaire de créer des modules distincts.
La liste complète des commits inclus dans cette version est disponible sur cette page.
Nouvelles fonctionnalités
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )a été ajouté. La classe donnée sera instanciée et la méthodeAutoRecreated.onRecreatedsera exécutée lorsque le composant propriétaire aura redémarré.
Modifications apportées à l'API
- Génériques supprimés de
SavedStateRegistry<T> - Suppression d'AbstractSavedStateRegistry et de BundlableSavedStateRegistry. Utilisez simplement
SavedStateRegistryà la place. BundleSavedStateRegistryOwnera été renomméSavedStateRegistryOwner.
Version 1.0.0-alpha01
17 décembre 2018
Il s'agit de la première version de SavedState.
Nouvelles fonctionnalités
androidx.savedstate est un nouvel ensemble d'API alpha qui permet aux développeurs d'insérer des composants dans le processus restore/saveInstanceState. Le principal point d'entrée de l'API est SavedStateRegistry<T>, qui permet de récupérer l'état précédemment enregistré via consumeRestoredStateForKey et d'enregistrer un rappel à registerSavedStateProvider pour fournir un savedstate une fois que le système l'a demandé.