Stockage local
Garder les données après la fermeture de l'application
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