Junior
Čo sú SharedPreferences a ako ich používať?
sobes.tech AI
Odpoveď od AI
SharedPreferences je jednoduchý mechanizmus na ukladanie malých objemov dát vo formáte kľúč-hodnota. Ideálny na uloženie používateľských nastavení alebo malých vlajok.
Použitie:
-
Pridanie závislosti: Do súboru
pubspec.yamlpridáme:dependencies: flutter: sdk: flutter shared_preferences: ^2.2.0 # Použite aktuálnu verziua spustíme
flutter pub get. -
Import:
import 'package:shared_preferences/shared_preferences.dart'; -
Získanie inštancie:
// Asynchrónna operácia SharedPreferences prefs = await SharedPreferences.getInstance(); -
Uloženie dát:
// Uloženie reťazca prefs.setString('username', 'Alice'); // Uloženie čísla (int) prefs.setInt('age', 30); // Uloženie čísla (double) prefs.setDouble('salary', 50000.50); // Uloženie boolean hodnoty prefs.setBool('darkMode', true); // Uloženie zoznamu reťazcov prefs.setStringList('items', ['item1', 'item2']);Všetky metódy ukladania vracajú
Future<bool>, čo indikuje úspešnosť operácie. -
Čítanie dát:
// Čítanie reťazca String? username = prefs.getString('username'); // Vráti null, ak kľúč neexistuje // Čítanie čísla (int) int? age = prefs.getInt('age'); // Čítanie čísla (double) double? salary = prefs.getDouble('salary'); // Čítanie boolean bool? darkMode = prefs.getBool('darkMode'); // Čítanie zoznamu reťazcov List<String>? items = prefs.getStringList('items'); -
Odstránenie dát:
// Odstránenie podľa kľúča prefs.remove('username'); // Vráti `Future<bool>` // Odstránenie všetkých dát prefs.clear(); // Vráti `Future<bool>`
Obmedzenia:
- Nie je vhodné na ukladanie veľkých objemov dát alebo zložitých štruktúr.
- Dáta sa ukladajú v otvorenom formáte (aj na úrovni aplikácie), nie sú vhodné na citlivé informácie.
- Funguje s základnými typmi dát. Pre objekty je potrebná serializácia/deserializácia (napríklad pomocou json).