Savedstate
| Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha |
|---|---|---|---|---|
| 22 ottobre 2025 | 1.3.3 | 1.4.0-rc01 | - | - |
Dichiara le dipendenze
Per aggiungere una dipendenza da SavedState, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per
la tua app o il tuo modulo:
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") }
Per saperne di più sulle dipendenze, consulta Aggiungi dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.4
Versione 1.4.0-rc01
22 ottobre 2025
androidx.savedstate:savedstate-*:1.4.0-rc01 viene rilasciato senza modifiche rispetto alla versione 1.4.0-beta01. La versione 1.4.0-rc01 contiene questi commit.
Versione 1.4.0-beta01
8 ottobre 2025
androidx.savedstate:savedstate-*:1.4.0-beta01 viene rilasciato senza modifiche significative rispetto all'ultima versione alpha. La versione 1.4.0-beta01 contiene questi commit.
Versione 1.4.0-alpha03
27 agosto 2025
androidx.savedstate:savedstate-*:1.4.0-alpha03 è stato rilasciato. La versione 1.4.0-alpha03 contiene questi commit.
Modifiche alle API
- Aggiungi il supporto per i tipi che accettano valori Null in
encodeToSavedStateedecodeFromSavedState. (I79062, b/439527454) - Aggiorna Compose alla versione 1.9.0. (I2b9de)
Versione 1.4.0-alpha02
13 agosto 2025
androidx.savedstate:savedstate-*:1.4.0-alpha02 è stato rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
Versione 1.4.0-alpha01
30 luglio 2025
androidx.savedstate:savedstate-*:1.4.0-alpha01 è stato rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiungi il supporto nativo per i tipi nullable in
SavedStateRegistryOwner.saved, semplificando il salvataggio e il ripristino delle proprietà nullable. (Ia632, b/421325690)
Versione 1.3
Versione 1.3.3
17 settembre 2025
androidx.savedstate:savedstate-*:1.3.3 è stato rilasciato. La versione 1.3.3 contiene questi commit.
Correzioni di bug
- È stato corretto un errore relativo al mancato utilizzo del plug-in del compilatore Compose che causava l'interruzione degli artefatti KMP
SavedState. (Id2290, b/443965665)
Versione 1.3.2
27 agosto 2025
androidx.savedstate:savedstate-*:1.3.2 è stato rilasciato. La versione 1.3.2 contiene questi commit.
Nuove funzionalità
- Aggiungi nuovi target Kotlin Multiplatform (KMP) all'artefatto SavedState
*-compose. Lifecycle ora supporta le seguenti piattaforme: JVM (Android e computer), Native (Linux, iOS, watchOS, macOS, MinGW) e Web (JavaScript, WasmJS). (/Idcf26)
Versione 1.3.1
16 luglio 2025
androidx.savedstate:savedstate-*:1.3.1 è stato rilasciato. La versione 1.3.1 contiene questi commit.
Correzioni di bug
- Aggiungi tutti i target KMP supportati dalle annotazioni agli artefatti
SavedState. - Sono stati aggiunti nuovi target Kotlin Multiplatform (KMP) agli artefatti
SavedState.SavedStateora supporta le seguenti piattaforme in totale: JVM (Android e desktop), Native (Linux, iOS, watchOS, macOS, MinGW) e Web (JavaScript, WasmJS). Tieni presente che non sono state aggiunte nuove destinazioni KMP agli artefatti*-compose, poiché ciò dipende dalla release stabile di Compose 1.9. (I062f4).
Versione 1.3.0
7 maggio 2025
androidx.savedstate:savedstate-*:1.3.0 è stato rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
LocalSavedStateRegistryOwnerè stato spostato dalla UI di Compose al nuovo modulosavedstate-composein modo che le relative API helper basate su Compose possano essere utilizzate al di fuori della UI di Compose. Questo valore deve essere sempre utilizzato quando si utilizza Compose UI1.9.0-alpha02e versioni successive, ma è compatibile con le versioni precedenti, quindi può essere utilizzato con tutte le versioni di Compose.- Le estensioni
savedstate-ktxKotlin sono state spostate nel modulo base savedstate. - Le istanze
SavedStateRegistryOwnerrecuperate tramitefindViewTreeSavedStateRegistryOwnerora possono essere risolte tramite genitori disgiunti di una vista, ad esempio unViewOverlay. Per ulteriori informazioni sui genitori della visualizzazione disgiunta, consulta le note di rilascio di core o la documentazione inViewTree.setViewTreeDisjointParent.
Kotlin Multiplatform
- Il modulo
SavedStateora è compatibile con KMP. Le piattaforme supportate ora includono Android, iOS, Linux, Mac e gli ambienti desktop JVM. Introduci il tipo opaco
SavedStatecome astrazione per fornire un modo coerente per salvare e ripristinare lo stato dell'applicazione in KMP. IncludeSavedStateReadereSavedStateWriterper modificare lo stato da salvare. Su Android,SavedStateè un alias di tipo perBundle, che garantisce la compatibilità binaria e facilita la migrazione delle API esistenti a un insieme di origini comune. Su altre piattaforme,SavedStateè un'istanzaMap<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") }
Supporto della serializzazione KotlinX
SavedStateora include il supporto della serializzazione KotlinX. Puoi convertire una classe annotata con@Serializablein unSavedStateutilizzando i metodiencodeToSavedStateedecodeFromSavedState. L'SavedStaterestituito è un normaleBundlesu Android e può essere utilizzato da qualsiasi API che accetta 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) }Mentre la maggior parte dei tipi (come i tipi primitivi) è supportata direttamente senza necessità di configurazione, i serializzatori aggiuntivi che possono essere utilizzati con
@Serializable(with = ___:class)sono disponibili nel pacchettoandroidx.savedstate.serialization.serializersnel modulosavedstatee nel pacchettoandroidx.savedstate.compose.serialization.serializersnel modulosavedstate-compose.Abbiamo incluso anche
saved, un delegato di proprietà pigro, per semplificare l'archiviazione delle classi@Serializablein unSavedStateRegistryOwner(ad es.ComponentActivity,Fragmente così via) e ripristinarle automaticamente in caso di interruzione e ricreazione del processo. Tieni presente che il delegatosavedè pigro e non chiamerà la lambdainitné salverà nulla inSavedStateRegistryfinché non viene eseguito l'accesso.@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 Ciclo di vita
2.9.0è stato aggiunto un delegato di proprietàsavedsimile perSavedStateHandle.
Versione 1.3.0-rc01
23 aprile 2025
androidx.savedstate:savedstate-*:1.3.0-rc01 è stato rilasciato. La versione 1.3.0-rc01 contiene questi commit.
Versione 1.3.0-beta01
9 aprile 2025
androidx.savedstate:savedstate-*:1.3.0-beta01 è stato rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Aggiornamenti delle dipendenze
- Questa libreria ora ha come target il livello del linguaggio Kotlin 2.0 e richiede KGP 2.0.0 o versioni successive. (Idb6b5)
Versione 1.3.0-alpha11
26 marzo 2025
androidx.savedstate:savedstate-*:1.3.0-alpha11 viene rilasciato senza modifiche pubbliche degne di nota. La versione 1.3.0-alpha11 contiene questi commit.
Versione 1.3.0-alpha10
12 marzo 2025
androidx.savedstate:savedstate-*:1.3.0-alpha10 è stato rilasciato. La versione 1.3.0-alpha10 contiene questi commit.
Nuove funzionalità
- Aggiungi varianti di metodi non reificati per le raccolte
getinSavedStateReader. (I0b641, b/399820614) - Aggiungi
encodeDefaultsaSavedStateConfiguration, consentendo di personalizzare se le proprietà con valori predefiniti devono essere codificate. (I893cc, b/395104517) - Aggiungi
SnapshotStateMapSerializerper supportaremutableStateMapOf. (Ie6f19, b/378895074) - Aggiungi
SnapshotStateListSerializerper supportaremutableStateListOf. (I4d888, b/378895074) - Aggiungi
getOrNullmetodi alternativi per le variantiSavedStateReader.get. Questi metodi eseguono il boxing automatico dei valori primitivi. (I6228c, b/399820614)
Modifiche alle API
- Rimuovi
getOrElsedaSavedStateReadera favore digetOrNull() ?: else(). (I87317, b/399820614) - Rimuovi il modificatore
inlinedai metodiSavedStateReadereSavedStateWriter. (If2a02, b/399820614) - Rimozione dei serializzatori di elenchi e array specifici per Android integrati dall'API pubblica (Ida293)
- Sostituisci
SparseParcelableArraySerializerconSparseArraySerializer(I91de8) - Rendi coerente il comportamento di tutti i
SavedStateReader.getgenerando un errore quando il tipo di valore non corrisponde al tipo restituito (I78c4a, b/399317598) - Rinomina
SavedState*DelegatesinSavedState*Delegate. (I8589b, b/399629301) - Rinomina
SavedStateConfiginSavedStateConfiguration. (I043a5, b/399629301)
Versione 1.3.0-alpha09
26 febbraio 2025
androidx.savedstate:savedstate-*:1.3.0-alpha09 è stato rilasciato. La versione 1.3.0-alpha09 contiene questi commit.
Nuove funzionalità
- Aggiungi il fallback per i tipi integrati, assicurandoti che tutti i tipi supportati da
Bundlepossano essere utilizzati conencodeAsSavedState/decodeFromSavedStateper impostazione predefinita o, per le proprietà nelle classi@Serializable, tramite l'annotazione@Contextual. (Ic01d2) - Includi il supporto per
classDiscriminatoreclassDiscriminatorModesuSavedStateConfig. (I69b66, b/395104517)
Modifiche alle API
- Aggiungi il parametro
SavedStateConfigai delegati disaved()(I39b3a) - Rende i serializzatori incorporati oggetti singleton (Ifeee4)
- Le proprietà
SavedStateConfigsono ora pubbliche, consentendo ad altri moduli di utilizzare queste configurazioni. (Ie5f49, b/378897438) - Supporto
@Serializer(with = ...)perMutableStateFlowSerializereMutableStateSerializer(I90953) - Aggiungi
contentDeepToStringaSavedStateReader(I14d10)
Versione 1.3.0-alpha08
12 febbraio 2025
androidx.savedstate:savedstate-*:1.3.0-alpha08 è stato rilasciato. La versione 1.3.0-alpha08 contiene questi commit.
Nuove funzionalità
- Sposta
MutableStateSerializerinsavedstate-composedalifecycle-viewmodel-compose, consentendoti di utilizzare le API di serializzazione SavedState conMutableStatedi Compose. (I4f690, b/378895074)
Modifiche alle API
- Aggiungi una funzione di fabbrica per creare
SavedStateda unSavedStateesistente. (I39f9a) - Aggiunge il supporto per
Array<SavedState>eList<SavedState>inandroidx.savedstate. (Idd8a5) - Aggiungi il parametro facoltativo
SavedStateConfigalla codifica/decodifica di SavedState (I6c4c0)
Versione 1.3.0-alpha07
29 gennaio 2025
androidx.savedstate:savedstate-*:1.3.0-alpha07 è stato rilasciato. La versione 1.3.0-alpha07 contiene questi commit.
Nuove funzionalità
- Aggiungi
MutableStateFlowSerializerper la serializzazione dikotlinx.coroutines.flow.MutableStateFlow. (I6a892, b/378895070)
Modifiche alle API
- Sostituisci le funzioni delegate
SavedStateRegistryOwner.saved()sottoposte a overload con parametri predefiniti (Icd1c1) - Rendi
JavaSerializableSerializereParcelableSerializerastratti (I268f6) - Rimuovi
T : CharSequencegenerico daCharSequenceSerializer(Ib40bd)
Versione 1.3.0-alpha06
11 dicembre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha06 è stato rilasciato. La versione 1.3.0-alpha06 contiene questi commit.
Nuove funzionalità
SavedStateKMP ora supporta:IBinder,Size,SizeF,Array<Parcelable>,SparseArray<Parcelable>e Serializable (Android). (I1ba94, b/334076622)- Aggiungi istanze
KSerializerche possono essere utilizzate per codificare/decodificare i tipi Java e Android supportati da Bundle contrassegnando il campo pertinente nella classe con@Serializable(with = ParcelableSerializer::class). (I8c10f, I28caf, b/376026712) - Le istanze
SavedStateRegistryOwnerrecuperate tramitefindViewTreeSavedStateRegistryOwnerora possono essere risolte tramite genitori disgiunti di una vista, ad esempio unViewOverlay. Per ulteriori informazioni sui genitori della visualizzazione disgiunta, consulta le note di rilascio di core o la documentazione inViewTree.setViewTreeDisjointParent. (Iccb33)
Modifiche alle API
- Rendi più coerenti i nomi e l'organizzazione dei pacchetti con
SavedStateRegistryOwnerDelegate(I8c135, b/376026744)
Versione 1.3.0-alpha05
13 novembre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha05 è stato rilasciato. La versione 1.3.0-alpha05 contiene questi commit.
Supporto della serializzazione KotlinX
SavedStateora include il supporto della serializzazione KotlinX. Puoi convertire una classe annotata con@Serializablein unSavedStateutilizzando i metodiencodeToSavedStateedecodeFromSavedState. L'SavedStaterestituito è un normaleBundlesu Android e può essere utilizzato da qualsiasi API che accetta 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) }Abbiamo incluso anche
saved, un delegato di proprietà pigro, per semplificare l'archiviazione delle classi@Serializablein unSavedStateRegistryOwner(ad es.ComponentActivity,Fragmente così via) e ripristinarle automaticamente in caso di interruzione e ricreazione del processo. Tieni presente che il delegatosavedè pigro e non chiamerà la lambdainitné salverà nulla inSavedStateRegistryfinché non viene eseguito l'accesso. (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 Ciclo di vita
2.9.0-alpha07è stato aggiunto un delegato di proprietàsavedsimile perSavedStateHandle.
Modifiche alle API
- Aggiungi
toMapaSavedState, consentendo la conversione di qualsiasiSavedStatein unMapnormale (copia superficiale). (I487b9, b/334076622) SavedStateKMP ora supporta gli array. (Ic0552, b/334076622)
Versione 1.3.0-alpha04
30 ottobre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha04 è stato rilasciato. La versione 1.3.0-alpha04 contiene questi commit.
Modifiche alle API
- SavedState KMP ora supporta Char. (I9ac2f, b/334076622)
- Aggiungi
putNulleisNulla SavedState KMP. (Iea71d, b/334076622) - Aggiungi parametri di fabbrica
savedStateaggiuntivi che supportano unMap<String, Any>iniziale (I9b37d, b/334076622) - SavedState KMP ora supporta il confronto
contentDeepEquals. (Ia515c, b/334076622) - SavedState KMP ora supporta Long. (I4c180, b/334076622)
Versione 1.3.0-alpha03
16 ottobre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha03 viene rilasciato senza modifiche significative. La versione 1.3.0-alpha03 contiene questi commit.
Versione 1.3.0-alpha02
2 ottobre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha02 è stato rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Kotlin Multiplatform
- Il modulo
SavedStateora è compatibile con KMP. Le piattaforme supportate ora includono Android, iOS, Linux, Mac e gli ambienti desktop JVM. (I26305, b/334076622)
Nuove funzionalità
- Introduci il tipo opaco
SavedStatecome astrazione per fornire un modo coerente per salvare e ripristinare lo stato dell'applicazione in KMP. IncludeSavedStateReadereSavedStateWriterper modificare lo stato da salvare. Su Android,SavedStateè un alias di tipo perBundle, che garantisce la compatibilità binaria e facilita la migrazione delle API esistenti a un insieme di origini comune. Su altre piattaforme,SavedStateè un'istanzaMap<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")
}
Modifiche alle API
SavedStateRegistryeSavedStateRegistryControllerora sono compatibili con KMP. (Id7bb8, b/334076622)SavedState,SavedStateWritereSavedStateReaderora sono compatibili con KMP. (I26305, b/334076622)
Versione 1.3.0-alpha01
7 agosto 2024
androidx.savedstate:savedstate:1.3.0-alpha01 e androidx.savedstate:savedstate-ktx:1.3.0-alpha01 sono stati rilasciati. La versione 1.3.0-alpha01 contiene questi commit.
Modifiche alle API
- Le estensioni
savedstate-ktxKotlin sono state spostate nel modulo base savedstate. (I1cc18, b/274803094)
Note
- Aggiornamento di
compileSdkalla versione 35 (5dc41be)
Versione 1.2.1
Versione 1.2.1
22 marzo 2023
androidx.savedstate:savedstate:1.2.1 e androidx.savedstate:savedstate-ktx:1.2.1 sono stati rilasciati. La versione 1.2.1 contiene questi commit.
Aggiornamenti delle dipendenze
SavedStateora dipende dal ciclo di vita2.6.1. (c1f621)
Versione 1.2.0
Versione 1.2.0
29 giugno 2022
androidx.savedstate:savedstate:1.2.0 e androidx.savedstate:savedstate-ktx:1.2.0 sono stati rilasciati. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
SavedStateRegistryControllerora consente l'allegato anticipato diSavedStateRegistrytramiteperformAttach().- Ora puoi recuperare un
SavedStateProviderregistrato in precedenza da unSavedStateRegistrytramitegetSavedStateProvider(). - La libreria
SavedStateè stata riscritta in Kotlin.- Per
SavedStateRegistryOwner, si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin. Ora devi eseguire l'override della proprietàsavedStateRegistryanziché implementare la funzionegetSavedStateRegistry()precedente. - Per
ViewTreeSavedStateRegistryOwner, si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin: ora devi importare e utilizzare direttamente i metodi di estensione Kotlin suViewdiandroidx.savedstate.setViewTreeSavedStateRegistryOwnereandroidx.savedstate.findViewTreeSavedStateRegistryOwnerper impostare e trovare un proprietario impostato in precedenza. Questa sostituisce l'APIsavedstate-ktxdifindViewTreeSavedStateRegistryOwner.
- Per
Modifiche al comportamento
SavedStateRegistrynon salva più un Bundle vuoto se non c'è uno stato da salvare.
Versione 1.2.0-rc01
11 maggio 2022
androidx.savedstate:savedstate:1.2.0-rc01 e androidx.savedstate:savedstate-ktx:1.2.0-rc01 sono stati rilasciati. La versione 1.2.0-rc01 contiene questi commit.
Modifiche alla documentazione
- I
SavedStateRegistryOwnerKdocs sono stati aggiornati per chiarire le responsabilità e il contratto che il proprietario ha in merito a come deve implementare l'interfaccia o quando deve chiamare i metodi suSavedStateRegistryController. (Iefc95, b/228887344)
Versione 1.2.0-beta01
20 aprile 2022
androidx.savedstate:savedstate:1.2.0-beta01 e androidx.savedstate:savedstate-ktx:1.2.0-beta01 sono stati rilasciati. La versione 1.2.0-beta01 contiene questi commit.
Modifiche alle API
- Le classi
SavedStateRegistryeViewTreeSavedStateRegistryOwnersono state riscritte in Kotlin. PerViewTreeSavedStateRegistryOwner, si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin: ora devi importare e utilizzare direttamente i metodi di estensione Kotlin suViewdiandroidx.savedstate.setViewTreeSavedStateRegistryOwnereandroidx.savedstate.findViewTreeSavedStateRegistryOwnerper impostare e trovare un proprietario impostato in precedenza. Questa sostituisce l'APIsavedstate-ktxdifindViewTreeSavedStateRegistryOwner. È compatibile a livello binario e rimane compatibile a livello di codice sorgente per le implementazioni scritte nel linguaggio di programmazione Java. (b/220191285)
Versione 1.2.0-alpha02
6 aprile 2022
androidx.savedstate:savedstate:1.2.0-alpha02 e androidx.savedstate:savedstate-ktx:1.2.0-alpha02 sono stati rilasciati. La versione 1.2.0-alpha02 contiene questi commit.
Nuove funzionalità
- Ora puoi recuperare un
SavedStateProviderregistrato in precedenza da unSavedStateRegistrytramitegetSavedStateProvider(). (I7ea47, b/215406268)
Modifiche alle API
- Le classi
SavedStateRegistryOwner,SavedStateRegistryControllereRecreatorsono state riscritte in Kotlin. PerSavedStateRegistryOwner, si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin. Ora devi eseguire l'override della proprietàsavedStateRegistryanziché implementare la funzionegetSavedStateRegistry()precedente. È compatibile a livello binario e di codice sorgente per le implementazioni scritte nel linguaggio di programmazione Java. (b/220191285)
Versione 1.2.0-alpha01
26 gennaio 2022
androidx.savedstate:savedstate:1.2.0-alpha01 e androidx.savedstate:savedstate-ktx:1.2.0-alpha01 sono stati rilasciati. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
SavedStateRegistryControllerora consente l'allegato anticipato diSavedStateRegistrytramiteperformAttach(). (Ice4bf)
Modifiche al comportamento
SavedStateRegistrynon salva più un Bundle vuoto se non c'è uno stato da salvare. (aosp/1896865, b/203457956)
Versione 1.1.0
Versione 1.1.0
10 febbraio 2021
androidx.savedstate:savedstate:1.1.0 e androidx.savedstate:savedstate-ktx:1.1.0 sono stati rilasciati. La versione 1.1.0 contiene questi commit.
Modifiche principali dalla versione 1.0.0
- API
ViewTreeSavedStateRegistryOwner: una nuova APIViewTreeSavedStateRegistryOwner.get(View)consente di recuperare l'SavedStateRegistrycontenitore dato un'istanzaView. Per compilare correttamente questo campo, devi eseguire l'upgrade ad Activity1.2.0, Fragment1.3.0e AppCompat1.3.0-alpha01o versioni successive. savedstate-ktxartefatto: il nuovo artefattosavedstate-ktxè stato aggiunto con un'estensionefindViewTreeSavedStateRegistryOwner()Kotlin per l'utilizzo diViewTreeSavedStateRegistryOwner.
Versione 1.1.0-rc01
16 dicembre 2020
androidx.savedstate:savedstate:1.1.0-rc01 e androidx.savedstate:savedstate-ktx:1.1.0-rc01 vengono rilasciati senza modifiche dal giorno 1.1.0-beta01. La versione 1.1.0-rc01 contiene questi commit.
Versione 1.1.0-beta01
1° ottobre 2020
androidx.savedstate:savedstate:1.1.0-beta01 e androidx.savedstate:savedstate-ktx:1.1.0-beta01 vengono rilasciati senza modifiche dal giorno 1.1.0-alpha01. La versione 1.1.0-beta01 contiene questi commit.
Versione 1.1.0-alpha01
20 maggio 2020
androidx.savedstate:savedstate:1.1.0-alpha01 e androidx.savedstate:savedstate-ktx:1.1.0-alpha01 sono stati rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Nuove funzionalità
- Una nuova API
ViewTreeSavedStateRegistryOwner.get(View)ti consente di recuperare ilSavedStateRegistrycontenitore dato un'istanzaView. Per compilare correttamente questo campo, devi eseguire l'upgrade ad Activity1.2.0-alpha05, Fragment1.3.0-alpha05e AppCompat1.3.0-alpha01. (aosp/1298679) - È stato aggiunto il nuovo artefatto
savedstate-ktxcon un'estensione KotlinfindViewTreeSavedStateRegistryOwner()per l'utilizzo diViewTreeSavedStateRegistryOwner. (aosp/1299434)
Versione 1.0.0
Versione 1.0.0
5 settembre 2019
androidx.savedstate:savedstate:1.0.0 è stato rilasciato. I commit inclusi in questa versione sono disponibili qui.
Funzionalità principali di SavedState 1.0.0
androidx.savedstate è stata promossa a release stabile. Si tratta di un insieme di API che consentono agli sviluppatori di collegare componenti al processo di ripristino / salvataggio di InstanceState. Il punto di ingresso principale dell'API è SavedStateRegistry, che fornisce un modo per recuperare gli stati salvati in precedenza utilizzando consumeRestoredStateForKey e registrare un callback in registerSavedStateProvider per fornire uno stato salvato una volta che il sistema lo richiede.
Versione 1.0.0-rc01
2 luglio 2019
androidx.savedstate:savedstate:1.0.0-rc01 è stato rilasciato. I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
- Correzione della regola Proguard errata (b/132655499)
Versione 1.0.0-beta01
7 maggio 2019
androidx.savedstate:savedstate:1.0.0-beta01 è stato rilasciato. I commit inclusi in questa versione sono disponibili qui.
Versione 1.0.0-alpha02
13 marzo 2019
androidx.savedstate:savedstate:1.0.0-alpha02 è stato rilasciato. androidx.savedstate:savedstate combina gli artefatti androidx.savedstate:savedstate-bundle e androidx.savedstate:savedstate-common in un unico artefatto, perché è stato deciso di semplificare l'infrastruttura savedstate e rimuovere i generici da SavedStateRegistry. Pertanto, non sono necessari moduli separati.
L'elenco completo dei commit inclusi in questa versione è disponibile qui.
Nuove funzionalità
- Membri aggiunti:
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )La classe specificata verrà istanziata e il metodoAutoRecreated.onRecreatedverrà eseguito al riavvio del componente proprietario.
Modifiche all'API
- Generici rimossi da
SavedStateRegistry<T> - AbstractSavedStateRegistry e BundlableSavedStateRegistry sono stati rimossi, utilizza invece
SavedStateRegistry BundleSavedStateRegistryOwnerè stato rinominato inSavedStateRegistryOwner
Versione 1.0.0-alpha01
17 dicembre 2018
Questa è la prima release di SavedState.
Nuove funzionalità
androidx.savedstate è un nuovo insieme di API alpha che consentono agli sviluppatori di collegare componenti al processo di ripristino / saveInstanceState. Il punto di accesso principale dell'API è SavedStateRegistry<T>, che fornisce un modo per recuperare lo stato salvato in precedenza tramite consumeRestoredStateForKey e registrare un callback in registerSavedStateProvider per fornire uno stato salvato quando il sistema lo richiede.