0%
Base de données locale

Stockage local

Garder les données après la fermeture de l'application

15-20 min

Base de données locale

Tout ce que nous avons construit jusqu'ici disparaît à la fermeture de l'application. Le panier de la leçon 7 vit dans un ChangeNotifier, c'est-à-dire en mémoire vive : le système d'exploitation récupère cette mémoire dès qu'il en a besoin, et l'utilisateur retrouve un panier vide sans comprendre pourquoi. Sur mobile, ce n'est pas une hypothèse : Android et iOS tuent les applications en arrière-plan en permanence.

Persister localement sert deux besoins qu'il faut distinguer, car ils n'appellent pas les mêmes outils. Le premier est la préférence : un booléen pour le mode sombre, une langue, un jeton de session. Quelques dizaines de valeurs isolées, qu'on lit au démarrage et qu'on écrit rarement. Le second est la donnée métier : des centaines de lignes qu'on veut filtrer, trier, joindre, compter. Ranger des préférences dans une base SQL est une complication inutile ; ranger un catalogue de mille articles dans un fichier de préférences est une faute qui se paie en lenteur au démarrage.

Cette leçon traite les deux outils de référence — shared_preferences et sqflite — avec un critère de choix explicite, puis les deux difficultés réelles de SQLite sur mobile : la migration de schéma lorsque l'application est déjà installée, et les transactions.

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !