Une partie essentielle du développement d'applications est la gestion des données. Dans de nombreuses applications, il est nécessaire de stocker les informations de manière persistante afin de pouvoir y accéder même après le redémarrage de l'application ou la mise hors tension de l'appareil. Ici, nous allons discuter de la façon de travailler avec des bases de données locales dans Flutter à l'aide de Dart.
SQLite dans Flutter
SQLite est une bibliothèque C qui fournit une base de données légère basée sur disque qui ne nécessite pas de processus serveur distinct et vous permet d'accéder à la base de données à l'aide d'une variante non standard de SQL. Dans Flutter, nous utilisons la bibliothèque sqflite pour gérer SQLite.
Installation
Pour commencer, nous devons ajouter la dépendance sqflite à notre fichier pubspec.yaml. Nous ajouterons également le chemin du fournisseur, que nous utiliserons pour trouver le chemin d'accès au répertoire de la base de données.
dépendances :
battement:
SDK : flottement
sqflite : n'importe lequel
path_provider : n’importe lequel
Exécutez la commande 'flutter packages get' pour installer les dépendances.
Ouvrir une base de données
Nous pouvons ouvrir la base de données en utilisant la méthode openDatabase. Si la base de données n'existe pas, elle sera créée. Voici un exemple de comment ouvrir une base de données :
importer 'package: sqflite/sqlflite.dart' ;
void openDatabase() async {
base de données finale = attendre openDatabase (
rejoindre (attendre getDatabasesPath(), 'doggie_database.db'),
);
}
Créer des tableaux
Après avoir ouvert la base de données, nous pouvons y créer des tables. La méthode onCreate est appelée lors de la première création de la base de données.
base de données finale = attendre openDatabase (
rejoindre (attendre getDatabasesPath(), 'doggie_database.db'),
onCreate : (base de données, version) {
retourner db.execute(
"CREATE TABLE dogs(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)",
);
},
version 1,
);
Insertion des données
Nous pouvons insérer des données dans notre table en utilisant la méthode insert. Cette méthode enregistre automatiquement les données dans un format que SQLite peut comprendre.
Future insertDog(Dog dog) async {
base de données finale = base de données en attente ;
attendre db.insert(
'chiens',
chien.toMap(),
conflictAlgorithm : ConflictAlgorithm.replace,
);
}
Requête de données
Nous pouvons interroger les données de notre base de données en utilisant la méthode de requête. Cette méthode renvoie une liste de cartes, où chaque carte est un enregistrement dans la base de données.
Future> dogs() async {
base de données finale = base de données en attente ;
final List
Répondez maintenant à l’exercice sur le contenu :
Quelle bibliothèque est utilisée pour travailler avec des bases de données locales dans Flutter ?
Tu as raison! Félicitations, passez maintenant à la page suivante