Junior
Co jsou SharedPreferences a jak je používat?
sobes.tech AI
Odpověď od AI
SharedPreferences je jednoduchý mechanismus pro ukládání malých objemů dat ve formě párů klíč-hodnota. Ideální pro ukládání uživatelských nastavení nebo malých vlajek.
Použití:
-
Přidání závislosti: Do souboru
pubspec.yamlpřidáme:dependencies: flutter: sdk: flutter shared_preferences: ^2.2.0 # Použijte aktuální verzia spustíme
flutter pub get. -
Import:
import 'package:shared_preferences/shared_preferences.dart'; -
Získání instance:
// Asynchronní operace SharedPreferences prefs = await SharedPreferences.getInstance(); -
Uložení dat:
// Uložení řetězce prefs.setString('username', 'Alice'); // Uložení čísla (int) prefs.setInt('age', 30); // Uložení čísla (double) prefs.setDouble('salary', 50000.50); // Uložení booleanu prefs.setBool('darkMode', true); // Uložení seznamu řetězců prefs.setStringList('items', ['item1', 'item2']);Všechny metody ukládání vracejí
Future<bool>, což indikuje úspěšnost operace. -
Čtení dat:
// Čtení řetězce String? username = prefs.getString('username'); // Vrací null, pokud klíč neexistuje // Čtení čísla (int) int? age = prefs.getInt('age'); // Čtení čísla (double) double? salary = prefs.getDouble('salary'); // Čtení booleanu bool? darkMode = prefs.getBool('darkMode'); // Čtení seznamu řetězců List<String>? items = prefs.getStringList('items'); -
Odstranění dat:
// Odstranění podle klíče prefs.remove('username'); // Vrací `Future<bool>` // Odstranění všech dat prefs.clear(); // Vrací `Future<bool>`
Omezení:
- Není vhodné pro ukládání velkých objemů dat nebo složitých struktur.
- Data jsou uložena v otevřeném formátu (i na úrovni aplikace), není vhodné pro citlivé informace.
- Funguje s základními datovými typy. Pro objekty je nutná serializace/deserializace (například pomocí json).