Junior
Ce sunt SharedPreferences și cum le folosești?
sobes.tech AI
Răspuns de la AI
SharedPreferences este un mecanism simplu pentru salvarea unor volume mici de date în perechi cheie-valoare. Ideal pentru salvarea setărilor utilizatorului sau a unor mici steaguri.
Utilizare:
-
Adăugarea dependenței: În fișierul
pubspec.yaml, adăugăm:dependencies: flutter: sdk: flutter shared_preferences: ^2.2.0 # Folosiți versiunea actualăși executăm
flutter pub get. -
Import:
import 'package:shared_preferences/shared_preferences.dart'; -
Obținerea instanței:
// Operație asincronă SharedPreferences prefs = await SharedPreferences.getInstance(); -
Salvarea datelor:
// Salvare string prefs.setString('username', 'Alice'); // Salvare număr (int) prefs.setInt('age', 30); // Salvare număr (double) prefs.setDouble('salary', 50000.50); // Salvare valoare boolean prefs.setBool('darkMode', true); // Salvare listă de stringuri prefs.setStringList('items', ['item1', 'item2']);Toate metodele de salvare returnează
Future<bool>, indicând succesul operației. -
Citirea datelor:
// Citire string String? username = prefs.getString('username'); // Returnează null dacă cheia nu există // Citire număr (int) int? age = prefs.getInt('age'); // Citire număr (double) double? salary = prefs.getDouble('salary'); // Citire valoare boolean bool? darkMode = prefs.getBool('darkMode'); // Citire listă de stringuri List<String>? items = prefs.getStringList('items'); -
Ștergerea datelor:
// Ștergere după cheie prefs.remove('username'); // Returnează `Future<bool>` // Ștergerea tuturor datelor prefs.clear(); // Returnează `Future<bool>`
Limitări:
- Nu este potrivit pentru stocarea unor volume mari de date sau structuri complexe.
- Datele sunt stocate în formă deschisă (chiar și la nivel de aplicație), nu este potrivit pentru informații sensibile.
- Funcționează cu tipuri de date de bază. Pentru obiecte, este necesară serializarea/deserializarea (de exemplu, cu json).