La persistencia de datos es un aspecto crucial del desarrollo de aplicaciones. En Flutter, una de las formas más comunes de conservar datos es usar SQLite, un motor de base de datos SQL integrado. En este capítulo, exploremos cómo puede integrar SQLite en su aplicación Flutter para conservar los datos.
¿Qué es SQLite?
SQLite es un motor de base de datos SQL que le permite almacenar datos en un archivo local en el dispositivo del usuario. Es liviano, no requiere servidor y no requiere una configuración separada. SQLite es ideal para almacenar datos simples y se usa ampliamente en dispositivos móviles y navegadores web.
¿Por qué usar SQLite en Flutter?
Flutter es un marco de desarrollo de aplicaciones móviles que te permite crear aplicaciones nativas con una única base de código. Sin embargo, Flutter no proporciona una forma integrada de conservar los datos. Por lo tanto, necesitamos utilizar paquetes de terceros como SQLite para este propósito.
Cómo usar SQLite en Flutter
Para comenzar a usar SQLite en Flutter, primero debemos agregar la dependencia a nuestro archivo 'pubspec.yaml':
dependencias: aleteo: SDK: aleteo sqflite: ^1.3.2+1
A continuación, importamos el paquete sqflite a nuestro archivo Dart:
importar 'paquete:sqflite/sqflite.dart';
Con la dependencia instalada e importada, podemos comenzar a usar SQLite. Primero, necesitamos abrir una base de datos. Podemos hacer esto usando la función openDatabase:
base de datos final Future= openDatabase( // Especifica la ruta a la base de datos unirse(esperar getDatabasesPath(), 'my_database.db'), );
Esta función crea una base de datos si no existe y la abre si existe. La función getDatabasesPath() obtiene la ruta al directorio donde la aplicación puede almacenar los datos privados del usuario.
Crear tablas
Una vez abierta la base de datos, podemos crear tablas en ella. Para eso podemos usar la función onCreate que se llama cuando se crea la base de datos por primera vez:
base de datos final Future= openDatabase( unirse(esperar getDatabasesPath(), 'my_database.db'), onCreate: (db, versión) { devolver db.execute ( "CREAR TABLA my_table(id INTEGER PRIMARY KEY, nombre TEXTO)", ); }, versión 1, );
Operaciones CRUD
Con la base de datos y las tablas creadas, podemos realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar).
Para insertar datos, utilizamos la función insertar:
FuturoinsertData(MyData data) async { base de datos final db = espera base de datos; esperar db.insert( 'mi mesa', datos.toMap(), Algoritmo de conflicto: Algoritmo de conflicto.reemplazar, ); }
Para leer datos, utilizamos la función de consulta:
Futuro> getData() asíncrono { base de datos final db = espera base de datos; Lista final > mapas = await db.query('my_table'); return Lista.generar(maps.length, (i) { devolver MisDatos( id: mapas[i]['id'], nombre: mapas[i]['nombre'], ); }); }
Para actualizar los datos, utilizamos la función de actualización:
FuturoupdateData(datos MyData) asíncrono { base de datos final = espera la base de datos; esperar db.update( 'mi mesa', datos.toMap(), donde: "identificación =?", dondeArgs: [datos.id], ); }
Para eliminar datos, utilizamos la función de eliminación:
FuturoeliminarDatos(int id) async { base de datos final = espera la base de datos; esperar db.delete ( 'mi mesa', donde: "identificación =?", dondeArgs: [id], ); }
En resumen, SQLite es una excelente opción para la persistencia de datos en aplicaciones Flutter. Proporciona una manera fácil de almacenar datos localmente en el dispositivo del usuario, lo que hace que su aplicación tenga mayor capacidad de respuesta y sea menos dependiente de una conexión de red constante. Con la ayuda del paquete sqflite, podemos realizar todas las operaciones necesarias en la base de datos de forma fácil y efectiva.