Sobes.tech
Junior — Middle

¿Cómo garantizar la conservación del estado actual del sistema al cambiar la configuración?

sobes.tech AI

Respuesta de la IA

En Android, para guardar el estado actual del sistema al cambiar la configuración (por ejemplo, al girar la pantalla), se utiliza el mecanismo de guardar el estado de la Activity o Fragment.

Formas principales:

  1. onSaveInstanceState(Bundle outState) — método en el que se pueden guardar los datos necesarios en un objeto Bundle. Estos datos estarán disponibles al recrear la Activity en el método onCreate o onRestoreInstanceState.

  2. ViewModel — componente de los componentes arquitectónicos de Android, que guarda datos al cambiar la configuración y no se recrea junto con la Activity.

  3. Guardar el estado de los componentes UI — muchos widgets estándar guardan su estado automáticamente si tienen un identificador único.

Ejemplo de guardar el estado de un contador:

class MainActivity : AppCompatActivity() {
    private var counter = 0

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        counter = savedInstanceState?.getInt("counter_key") ?: 0
        // actualizar la UI con el valor actual de counter
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        outState.putInt("counter_key", counter)
    }
}

De esta manera, al cambiar la configuración, los datos no se perderán y el usuario verá la misma interfaz y estado.