Junior
Qu'est-ce que SharedPreferences et comment l'utiliser?
sobes.tech IA
Réponse de l'IA
SharedPreferences est un mécanisme simple pour stocker de petites quantités de données sous forme de paires clé-valeur. Idéal pour sauvegarder les paramètres utilisateur ou de petites drapeaux.
Utilisation :
-
Ajouter la dépendance : Dans le fichier
pubspec.yaml, ajoutez :dependencies: flutter: sdk: flutter shared_preferences: ^2.2.0 # Utilisez la version actuelleet exécutez
flutter pub get. -
Importer :
import 'package:shared_preferences/shared_preferences.dart'; -
Obtenir une instance :
// Opération asynchrone SharedPreferences prefs = await SharedPreferences.getInstance(); -
Enregistrer des données :
// Enregistrer une chaîne prefs.setString('username', 'Alice'); // Enregistrer un nombre (int) prefs.setInt('age', 30); // Enregistrer un nombre (double) prefs.setDouble('salary', 50000.50); // Enregistrer une valeur booléenne prefs.setBool('darkMode', true); // Enregistrer une liste de chaînes prefs.setStringList('items', ['item1', 'item2']);Toutes les méthodes d'enregistrement retournent
Future<bool>, indiquant le succès de l'opération. -
Lire des données :
// Lire une chaîne String? username = prefs.getString('username'); // Retourne null si la clé n'existe pas // Lire un nombre (int) int? age = prefs.getInt('age'); // Lire un nombre (double) double? salary = prefs.getDouble('salary'); // Lire une valeur booléenne bool? darkMode = prefs.getBool('darkMode'); // Lire une liste de chaînes List<String>? items = prefs.getStringList('items'); -
Supprimer des données :
// Supprimer par clé prefs.remove('username'); // Retourne Future<bool> // Supprimer toutes les données prefs.clear(); // Retourne Future<bool>
Restrictions :
- Ne convient pas pour stocker de grandes quantités de données ou des structures complexes.
- Les données sont stockées en clair (même au niveau de l'application), pas adapté pour des informations sensibles.
- Fonctionne avec des types de données de base. Pour des objets, une sérialisation/désérialisation est requise (par exemple, avec json).