Stato salvato

Scrivi componenti modulari che salvano lo stato dell'interfaccia utente alla fine di un processo e lo ripristinano al riavvio del processo.
Aggiornamento più recente Release stabile Candidato di rilascio Versione beta Versione alpha
22 marzo 2023 1.2.1 - - -

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a SaveState, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Trendy

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")
}

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze delle build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Contattaci se scopri nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

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 vengono rilasciati. La versione 1.2.1 contiene questi commit.

Aggiornamenti delle dipendenze

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 vengono rilasciati. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

  • SavedStateRegistryController ora consente l'allegato anticipato di SavedStateRegistry tramite performAttach().
  • Ora puoi recuperare un SavedStateProvider registrato in precedenza da un SavedStateRegistry tramite getSavedStateProvider().
  • La libreria SavedState è stata riscritta in Kotlin.
    • Per SavedStateRegistryOwner, si tratta di una modifica incompatibile dell'origine per le classi scritte in Kotlin: ora devi sostituire la proprietà savedStateRegistry anziché implementare la precedente funzione getSavedStateRegistry().
    • Per ViewTreeSavedStateRegistryOwner, si tratta di una modifica incompatibile dell'origine per le classi scritte in Kotlin. Ora devi importare e utilizzare i metodi dell'estensione Kotlin su View di androidx.savedstate.setViewTreeSavedStateRegistryOwner e androidx.savedstate.findViewTreeSavedStateRegistryOwner per impostare e trovare un proprietario precedentemente impostato. Questo sostituisce l'API savedstate-ktx di findViewTreeSavedStateRegistryOwner.

Cambiamenti di comportamento

  • SavedStateRegistry non salva più un bundle vuoto se non c'è nessuno 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 vengono rilasciati. La versione 1.2.0-rc01 contiene questi commit.

Modifiche alla documentazione

  • I documenti principali di SavedStateRegistryOwner sono stati aggiornati per chiarire le responsabilità e il contratto che il proprietario ha in merito alla modalità di implementazione dell'interfaccia o a quando deve chiamare i metodi su SavedStateRegistryController. (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 vengono rilasciati. La versione 1.2.0-beta01 contiene questi commit.

Modifiche alle API

  • I corsi SavedStateRegistry e ViewTreeSavedStateRegistryOwner sono stati riscritti in Kotlin. Per ViewTreeSavedStateRegistryOwner, si tratta di una modifica incompatibile dell'origine per le classi scritte in Kotlin. Ora devi importare e utilizzare i metodi dell'estensione Kotlin su View di androidx.savedstate.setViewTreeSavedStateRegistryOwner e androidx.savedstate.findViewTreeSavedStateRegistryOwner per impostare e trovare un proprietario precedentemente impostato. Questo sostituisce l'API savedstate-ktx di findViewTreeSavedStateRegistryOwner. È compatibile con il programma binario e rimane compatibile con il 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 vengono rilasciati. La versione 1.2.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Ora puoi recuperare un SavedStateProvider registrato in precedenza da un SavedStateRegistry tramite getSavedStateProvider(). (I7ea47, b/215406268)

Modifiche alle API

  • I corsi SavedStateRegistryOwner, SavedStateRegistryController e Recreator sono stati riscritti in Kotlin. Per SavedStateRegistryOwner, si tratta di una modifica incompatibile dell'origine per le classi scritte in Kotlin: ora devi sostituire la proprietà savedStateRegistry anziché implementare la precedente funzione getSavedStateRegistry(). È compatibile con il codice binario e con l'origine 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 vengono rilasciati. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • SavedStateRegistryController ora consente il collegamento in anteprima di SavedStateRegistry tramite performAttach(). (Ice4bf)

Cambiamenti di comportamento

  • SavedStateRegistry non salva più un bundle vuoto se non c'è nessuno 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 vengono rilasciati. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • API ViewTreeSavedStateRegistryOwner: una nuova API ViewTreeSavedStateRegistryOwner.get(View) consente di recuperare l'API SavedStateRegistry contenitore specificata nell'istanza View. Devi eseguire l'upgrade ad Attività 1.2.0, Frammento 1.3.0 e AppCompat 1.3.0-alpha01 o versioni successive affinché questi dati vengano inseriti correttamente.
  • Elemento savedstate-ktx: il nuovo elemento savedstate-ktx è stato aggiunto con un'estensione Kotlin findViewTreeSavedStateRegistryOwner() per lavorare con ViewTreeSavedStateRegistryOwner.

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 vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Una nuova API ViewTreeSavedStateRegistryOwner.get(View) consente di recuperare l'elemento SavedStateRegistry contenitore specificata nell'istanza View. Devi eseguire l'upgrade ad Attività 1.2.0-alpha05, Frammento 1.3.0-alpha05 e AppCompat 1.3.0-alpha01 affinché questi dati vengano inseriti correttamente. (aosp/1298679).
  • Il nuovo artefatto savedstate-ktx è stato aggiunto con un'estensione Kotlin findViewTreeSavedStateRegistryOwner() per lavorare con ViewTreeSavedStateRegistryOwner. (aosp/1299434).

Versione 1.0.0

Versione 1.0.0

5 settembre 2019

androidx.savedstate:savedstate:1.0.0 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Funzionalità principali di savedState 1.0.0

androidx.savedstate è passato a una release stabile. Si tratta di un insieme di API che consentono agli sviluppatori di inserire componenti nel processo di ripristino / saveInstanceState. Il punto di ingresso principale dell'API è SavedStateRegistry, che consente di recuperare gli stati salvati in precedenza utilizzando consumeRestoredStateForKey e registrare un callback per registerSavedStateProvider per fornire uno stato salvato quando il sistema lo richiede.

Versione 1.0.0-rc01

2 luglio 2019

androidx.savedstate:savedstate:1.0.0-rc01 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

Versione 1.0.0-beta01

7 maggio 2019

androidx.savedstate:savedstate:1.0.0-beta01 viene 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 viene 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 dello stato salvato e rimuovere le generiche da SavedStateRegistry. Pertanto, non è necessario creare moduli separati.

L'elenco completo dei commit inclusi in questa versione è disponibile qui.

Nuove funzionalità

  • Membri aggiunti: SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz ) Verrà creata un'istanza della classe specificata e il metodo AutoRecreated.onRecreated verrà eseguito al riavvio del componente proprietario.

Modifiche alle API

  • Generiche rimosse da SavedStateRegistry<T>
  • AbstractsaveStateRegistry e BundlableSharedStateRegistry sono stati rimossi. Usa invece il semplice SavedStateRegistry
  • Il nome di BundleSavedStateRegistryOwner è stato cambiato in SavedStateRegistryOwner

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 consente agli sviluppatori di inserire componenti per il processo di ripristino / saveInstanceState. Il punto di ingresso principale dell'API è SavedStateRegistry<T>, che fornisce un modo per recuperare lo stato salvato in precedenza tramite consumeRestoredStateForKey e registrare un callback a registerSavedStateProvider per fornire uno stato salvato dopo che il sistema lo richiede.