Una parte esencial del desarrollo de aplicaciones es la gestión de datos. En muchas aplicaciones, es necesario almacenar información de forma persistente para que se pueda acceder a ella incluso después de reiniciar la aplicación o apagar el dispositivo. Aquí, discutiremos cómo trabajar con bases de datos locales en Flutter usando Dart.
SQLite en Flutter
SQLite es una biblioteca C que proporciona una base de datos liviana basada en disco que no requiere un proceso de servidor separado y le permite acceder a la base de datos utilizando una variante no estándar de SQL. En Flutter, usamos la biblioteca sqflite para manejar SQLite.
Instalación
Para empezar, necesitamos agregar la dependencia sqflite a nuestro archivo pubspec.yaml. También agregaremos la ruta del proveedor, que usaremos para encontrar la ruta al directorio de la base de datos.
dependencias: aleteo: SDK: aleteo sqflite: cualquiera proveedor_ruta: cualquiera
Ejecute el comando 'flutter packages get' para instalar las dependencias.
Abrir una base de datos
Podemos abrir la base de datos usando el método openDatabase. Si la base de datos no existe, se creará. A continuación se muestra un ejemplo de cómo abrir una base de datos:
importar 'paquete:sqflite/sqflite.dart'; anular openDatabase() asíncrono { base de datos final = esperar openDatabase( unirse(esperar getDatabasesPath(), 'doggie_database.db'), ); }
Crear tablas
Después de abrir la base de datos, podemos crear tablas en ella. El método onCreate se llama cuando se crea la base de datos por primera vez.
base de datos final = esperar openDatabase( unirse(esperar getDatabasesPath(), 'doggie_database.db'), onCreate: (db, versión) { devolver db.execute ( "CREAR TABLA perros(id INTEGER PRIMARY KEY, nombre TEXTO, edad INTEGER)", ); }, versión 1, );
Inserción de datos
Podemos insertar datos en nuestra tabla usando el método de inserción. Este método guarda automáticamente los datos en un formato que SQLite pueda comprender.
FutureinsertDog(Perro perro) async { base de datos final = espera la base de datos; esperar db.insert( 'perros', perro.toMap(), Algoritmo de conflicto: Algoritmo de conflicto.reemplazar, ); }
Consulta de datos
Podemos consultar los datos de nuestra base de datos utilizando el método de consulta. Este método devuelve una lista de mapas, donde cada mapa es un registro en la base de datos.
Futuro> perros() asíncrono { base de datos final = espera la base de datos; Lista final > mapas = await db.query('perros'); return Lista.generar(maps.length, (i) { devolver perro( id: mapas[i]['id'], nombre: mapas[i]['nombre'], edad: mapas[i]['edad'], ); }); }
Actualización de datos
Podemos actualizar los datos en nuestra base de datos usando el método de actualización. Este método toma un mapa de valores para actualizar.
FutureupdateDog(Perro perro) async { base de datos final = espera la base de datos; esperar db.update( 'perros', perro.toMap(), donde: "identificación =?", dondeArgs: [perro.id], ); }
Eliminación de datos
Podemos eliminar datos de nuestra base de datos utilizando el método de eliminación.
FuturoeliminarPerro(int id) async { base de datos final = espera la base de datos; esperar db.delete ( 'perros', donde: "identificación =?", dondeArgs: [id], ); }
Trabajar con bases de datos locales en Flutter es simple y directo, gracias a la biblioteca sqflite. Con él, podemos realizar una variedad de operaciones de base de datos como insertar, consultar, actualizar y eliminar datos.
En resumen, la manipulación de datos es una parte crucial del desarrollo de aplicaciones y Flutter, con su biblioteca sqflite, facilita esta tarea. Con un poco de práctica, te sentirás cómodo manejando bases de datos locales en tus aplicaciones Flutter.