Junior
Mi az a SharedPreferences és hogyan használjuk?
sobes.tech MI
Válasz az MI-től
SharedPreferences egy egyszerű mechanizmus kis adatmennyiség tárolására kulcs-érték párokban. Ideális felhasználói beállítások vagy kis zászlók mentésére.
Használat:
-
Függőség hozzáadása: A
pubspec.yamlfájlban hozzáadjuk:dependencies: flutter: sdk: flutter shared_preferences: ^2.2.0 # Használja a jelenlegi verziótés futtatjuk a
flutter pub getparancsot. -
Importálás:
import 'package:shared_preferences/shared_preferences.dart'; -
Példány szerzése:
// Aszinkron művelet SharedPreferences prefs = await SharedPreferences.getInstance(); -
Adatok mentése:
// String mentése prefs.setString('username', 'Alice'); // Szám (int) mentése prefs.setInt('age', 30); // Szám (double) mentése prefs.setDouble('salary', 50000.50); // Logikai érték mentése prefs.setBool('darkMode', true); // String lista mentése prefs.setStringList('items', ['item1', 'item2']);Minden mentési módszer
Future<bool>-t ad vissza, ami a művelet sikerességét jelzi. -
Adatok olvasása:
// String olvasása String? username = prefs.getString('username'); // Nullt ad vissza, ha nincs kulcs // Szám (int) olvasása int? age = prefs.getInt('age'); // Szám (double) olvasása double? salary = prefs.getDouble('salary'); // Logikai érték olvasása bool? darkMode = prefs.getBool('darkMode'); // String lista olvasása List<String>? items = prefs.getStringList('items'); -
Adatok törlése:
// Kulcs szerinti törlés prefs.remove('username'); // `Future<bool>`-t ad vissza // Minden adat törlése prefs.clear(); // `Future<bool>`-t ad vissza
Korlátozások:
- Nem alkalmas nagy adatmennyiség vagy összetett struktúrák tárolására.
- Az adatok nyílt formátumban tárolódnak (még az alkalmazás szintjén is), nem alkalmas érzékeny információkra.
- Alapvető adattípusokkal működik. Objektumok esetén szükséges a serializáció/deserializáció (pl. json segítségével).