Application de note avec Floor

Application de todo list avec sauvegarde dans une base de données SQlite grâce au package Floor (La branche Provider utilise le package Provider pour la gestion des états)

Application de note avec sauvegarde dans une base de données SQlite grâce au package Floor (La branche Provider utilise le package Provider pour la gestion des états). Le packae Floor est une extension du package SQFlite de Flutter.

La bibliothèque Floor fournit un code SQL léger avec une abstraction et un mappage automatique entre les objets en mémoire et les lignes de la base de données, tout en offrant un contrôle total de la base de données à l'aide de SQL.

Il est important de noter que cette bibliothèque n'est pas un ORM complet comme Hibernate et ne le sera jamais. Donc, c'est intentionnel.

Les fonctionalitées:

  • Lister toutes les notes
  • Ajouter une note
  • Editer un note
  • Supprimer un note
  • Supprimer toutes les notes

Captures d'écrans

ListeDialogue pour ajouter une noteDialogue pour editer une note
listlistlist
task.dart

class Task {
  (autoGenerate: true)
  final int id;

  String title;

  final int createdTime;
}

Ce code défini le model de la table Task dans la base de données

task_dao.dart

abstract class TaskDao {
  ('SELECT * FROM task WHERE id = :id')
  Future<Task> findTaskById(int id);

  ('SELECT * FROM task')
  Future<List<Task>> findAllTasks();

  ('SELECT * FROM task')
  Stream<List<Task>> findAllTasksAsStream();

  
  Future<void> insertTask(Task task);

  
  Future<void> updateTask(Task task);

  
  Future<void> deleteTask(Task task);

  ('DELETE FROM task')
  Future<void> deleteAllTask();
}