SavedState

Escribe componentes que se puedan conectar y que guarden el estado de la IU cuando se cierre un proceso y lo restablezcan cuando se reinicie.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
22 de marzo de 2023 1.2.1 - - -

Cómo declarar dependencias

Para agregar una dependencia en SavedState, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

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

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.2.1

Versión 1.2.1

22 de marzo de 2023

Lanzamiento de androidx.savedstate:savedstate:1.2.1 y androidx.savedstate:savedstate-ktx:1.2.1. La versión 1.2.1 contiene estas confirmaciones.

Actualizaciones de dependencias

Versión 1.2.0

Versión 1.2.0

29 de junio de 2022

Lanzamiento de androidx.savedstate:savedstate:1.2.0 y androidx.savedstate:savedstate-ktx:1.2.0. La versión 1.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.1.0

  • SavedStateRegistryController ahora permite la conexión anticipada de SavedStateRegistry mediante performAttach().
  • Ahora puedes recuperar un SavedStateProvider registrado previamente de un SavedStateRegistry a través de getSavedStateProvider().
  • Se reescribió la biblioteca SavedState en Kotlin.
    • En el caso de SavedStateRegistryOwner, este es un cambio incompatible de la fuente para esas clases escritas en Kotlin; ahora debes anular la propiedad savedStateRegistry en lugar de implementar la función getSavedStateRegistry() anterior.
    • En el caso de ViewTreeSavedStateRegistryOwner, este es un cambio incompatible de la fuente para esas clases escritas en Kotlin. Ahora debes importar y usar directamente los métodos de extensión de Kotlin en View de androidx.savedstate.setViewTreeSavedStateRegistryOwner y androidx.savedstate.findViewTreeSavedStateRegistryOwner para establecer y encontrar un propietario que se haya configurado con anterioridad. Este cambio reemplaza la API de savedstate-ktx de findViewTreeSavedStateRegistryOwner.

Cambios en el comportamiento

  • SavedStateRegistry ya no guarda un Bundle vacío si no hay ningún estado para guardar.

Versión 1.2.0-rc01

11 de mayo de 2022

Lanzamiento de androidx.savedstate:savedstate:1.2.0-rc01 y androidx.savedstate:savedstate-ktx:1.2.0-rc01. La versión 1.2.0-rc01 contiene estas confirmaciones.

Cambios en la documentación

  • Se actualizaron los Kdocs de SavedStateRegistryOwner para aclarar las responsabilidades y los contratos que tiene el propietario sobre la implementación de la interfaz o cuándo debe llamar a los métodos en SavedStateRegistryController (Iefc95, b/228887344).

Versión 1.2.0-beta01

20 de abril de 2022

Lanzamiento de androidx.savedstate:savedstate:1.2.0-beta01 y androidx.savedstate:savedstate-ktx:1.2.0-beta01. La versión 1.2.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se reescribieron las clases SavedStateRegistry y ViewTreeSavedStateRegistryOwner en Kotlin. En el caso de ViewTreeSavedStateRegistryOwner, este es un cambio incompatible de la fuente para esas clases escritas en Kotlin. Ahora debes importar y usar directamente los métodos de extensión de Kotlin en View de androidx.savedstate.setViewTreeSavedStateRegistryOwner y androidx.savedstate.findViewTreeSavedStateRegistryOwner para establecer y encontrar un propietario que se haya configurado con anterioridad. Este cambio reemplaza la API de savedstate-ktx de findViewTreeSavedStateRegistryOwner. Esto es compatible a nivel binario y de la fuente para implementaciones escritas en el lenguaje de programación Java (b/220191285).

Versión 1.2.0-alpha02

6 de abril de 2022

Lanzamiento de androidx.savedstate:savedstate:1.2.0-alpha02 y androidx.savedstate:savedstate-ktx:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Ahora puedes recuperar un SavedStateProvider registrado previamente de un SavedStateRegistry a través de getSavedStateProvider() (I7ea47, b/215406268).

Cambios en la API

  • Se reescribieron las clases SavedStateRegistryOwner, SavedStateRegistryController y Recreator en Kotlin. En el caso de SavedStateRegistryOwner, este es un cambio incompatible de la fuente para esas clases escritas en Kotlin; ahora debes anular la propiedad savedStateRegistry en lugar de implementar la función getSavedStateRegistry() anterior. Esto es compatible a nivel binario y de fuente para implementaciones escritas en el lenguaje de programación Java (b/220191285).

Versión 1.2.0-alpha01

26 de enero de 2022

Lanzamiento de androidx.savedstate:savedstate:1.2.0-alpha01 y androidx.savedstate:savedstate-ktx:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • SavedStateRegistryController ahora permite la conexión anticipada de SavedStateRegistry mediante performAttach() (Ice4bf).

Cambios en el comportamiento

  • SavedStateRegistry ya no guarda un Bundle vacío si no hay ningún estado para guardar. (aosp/1896865, b/203457956).

Versión 1.1.0

Versión 1.1.0

10 de febrero de 2021

Lanzamiento de androidx.savedstate:savedstate:1.1.0 y androidx.savedstate:savedstate-ktx:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.0.0

  • API de ViewTreeSavedStateRegistryOwner: Una nueva API de ViewTreeSavedStateRegistryOwner.get(View) te permite recuperar el SavedStateRegistry contenedor en una determinada instancia de View. Debes actualizar a Activity 1.2.0, Fragment 1.3.0 yAppCompat 1.3.0-alpha01 o versiones posteriores para que la propagación se realice correctamente.
  • Artefacto savedstate-ktx: Se agregó el nuevo artefacto savedstate-ktx con una extensión de Kotlin findViewTreeSavedStateRegistryOwner() a fin de trabajar con ViewTreeSavedStateRegistryOwner.

Versión 1.1.0-rc01

16 de diciembre de 2020

Lanzamiento de androidx.savedstate:savedstate:1.1.0-rc01 y androidx.savedstate:savedstate-ktx:1.1.0-rc01 sin cambios desde 1.1.0-beta01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Versión 1.1.0-beta01

1 de octubre de 2020

Lanzamiento de androidx.savedstate:savedstate:1.1.0-beta01 y androidx.savedstate:savedstate-ktx:1.1.0-beta01 sin cambios desde 1.1.0-alpha01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Versión 1.1.0-alpha01

20 de mayo de 2020

Lanzamiento de androidx.savedstate:savedstate:1.1.0-alpha01 y androidx.savedstate:savedstate-ktx:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Una nueva API de ViewTreeSavedStateRegistryOwner.get(View) te permite recuperar el objeto SavedStateRegistry contenedor dado que tiene una instancia de View. Debes actualizar a Activity 1.2.0-alpha05, Fragment 1.3.0-alpha05 y AppCompat 1.3.0-alpha01 para completarlo correctamente (aosp/1298679).
  • Se agregó el artefacto savedstate-ktx nuevo con una extensión de Kotlin findViewTreeSavedStateRegistryOwner() para trabajar con ViewTreeSavedStateRegistryOwner (aosp/1299434).

Versión 1.0.0

Versión 1.0.0

5 de septiembre de 2019

Lanzamiento de androidx.savedstate:savedstate:1.0.0. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Funciones principales de SavedState 1.0.0

Se movió androidx.savedstate a una versión estable. Este es un conjunto de API que permite a los desarrolladores agregar componentes al proceso restore/saveInstanceState. El punto de entrada principal de la API es SavedStateRegistry, que proporciona una forma de recuperar estados guardados previamente usando consumeRestoredStateForKey y registra una devolución de llamada a registerSavedStateProvider para proporcionar un estado guardado una vez que el sistema lo solicita.

Versión 1.0.0-rc01

2 julio de 2019

Lanzamiento de androidx.savedstate:savedstate:1.0.0-rc01. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Correcciones de errores

  • Se corrigió la regla de ProGuard incorrecta (b/132655499).

Versión 1.0.0-beta01

7 de mayo de 2019

Lanzamiento de androidx.savedstate:savedstate:1.0.0-beta01. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Versión 1.0.0-alpha02

13 de marzo de 2019

Lanzamiento de androidx.savedstate:savedstate:1.0.0-alpha02. androidx.savedstate:savedstate combina los artefactos androidx.savedstate:savedstate-bundle y androidx.savedstate:savedstate-common en un artefacto, ya que se decidió simplificar la infraestructura de estado guardado y quitar los elementos genéricos de SavedStateRegistry. Por lo tanto, no hay necesidad de módulos separados.

Para obtener una lista completa de las confirmaciones incluidas en esta versión, consulta este artículo.

Nuevas funciones

  • Se agregó SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz ). Se creará la instancia de la clase determinada y se ejecutará el método AutoRecreated.onRecreated cuando se reinicie el componente propietario.

Cambios en la API

  • Se quitaron los elementos genéricos de SavedStateRegistry<T>.
  • Se quitaron AbstractSavedStateRegistry y BundlableSavedStateRegistry. En su lugar, usa SavedStateRegistry.
  • Se cambió el nombre de BundleSavedStateRegistryOwner por SavedStateRegistryOwner.

Versión 1.0.0-alpha01

17 de diciembre de 2018

Esta es la primera versión de SavedState.

Nuevas funciones

androidx.savedstate es un nuevo conjunto de API Alfa que permite a los desarrolladores agregar componentes al proceso restore/saveInstanceState. El punto de entrada principal de la API es SavedStateRegistry<T>, que proporciona una manera de recuperar un estado guardado anteriormente mediante consumeRestoredStateForKey y registra una devolución de llamada a registerSavedStateProvider para proporcionar un estado guardado una vez que el sistema lo solicite.