0%
Base de datos local

Almacenamiento local

Conservar los datos tras cerrar la aplicación

15-20 min

Base de datos local

Todo lo que hemos construido hasta ahora desaparece al cerrar la aplicación. El carrito de la lección 7 vive en un ChangeNotifier, es decir, en memoria RAM: el sistema operativo recupera esa memoria en cuanto la necesita, y el usuario se encuentra con un carrito vacío sin entender por qué. En móvil, esto no es una hipótesis: Android e iOS matan aplicaciones en segundo plano constantemente.

Persistir en local responde a dos necesidades que conviene distinguir, porque no requieren las mismas herramientas. La primera es la preferencia: un booleano para el modo oscuro, un idioma, un token de sesión. Unas pocas decenas de valores aislados, que se leen al arrancar y se escriben rara vez. La segunda es el dato de negocio: cientos de filas que se quieren filtrar, ordenar, unir, contar. Guardar preferencias en una base de datos SQL es una complicación innecesaria; guardar un catálogo de mil artículos en un archivo de preferencias es un error que se paga con lentitud en el arranque.

Esta lección trata las dos herramientas de referencia —shared_preferences y sqflite— con un criterio de elección explícito, y después las dos dificultades reales de SQLite en móvil: la migración de esquema cuando la aplicación ya está instalada, y las transacciones.

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!