Junior
Mis on SharedPreferences kasutamise eripära Flutteris?
sobes.tech AI
Vastus AI-lt
SharedPreferences pakub lihtsat API väikeste andmemahtude salvestamiseks (põhiliigid: int, double, bool, String, List<String>) võtme-väärtuse paaridena. Andmed salvestatakse asünkroonselt. Sobib kasutaja seadete, olekumerkide ja muu mitte-kriitilise teabe salvestamiseks.
Omadused:
- Lihtne kasutada: API on kerge ja intuitiivne.
- Asünkroonilised toimingud: Kõik lugemis- ja kirjutamistoimingud on asünkroonsed, mis takistab UI voolu blokeerimist.
- Piiratud tüüpide valik: Toetab ainult primitiivseid tüüpe ja stringide nimekirju.
- Ei sobi suurte andmekogumite või keerukate struktuuride jaoks: Mitte tõhus suurte andmestruktuuride või paljude kirjetega.
- Platvormist sõltuv: Rakendatud natiivsete salvestusmehhanismide põhjal (näiteks iOS
NSUserDefaults, AndroidSharedPreferences). - Ei ole turvaline konfidentsiaalse teabe salvestamiseks: Andmed salvestatakse avatud kujul, ei sobi paroolide või muu tundliku teabe jaoks.
- Juurdepääs nõuab
await:SharedPreferenceseksemplari saamine ja lugemis-/kirjutusoperatsioonid nõuavadawaitkasutamist.
Näide kasutamisest:
// Saada `SharedPreferences` eksemplar
final prefs = await SharedPreferences.getInstance();
// Andmete salvestamine
await prefs.setInt('counter', 10);
await prefs.setBool('isDarkMode', true);
await prefs.setString('username', 'FlutterDev');
await prefs.setStringList('items', ['apple', 'banana']);
// Andmete lugemine
final counter = prefs.getInt('counter') ?? 0; // Kasutades `??` vaikimisi väärtuse jaoks
final isDarkMode = prefs.getBool('isDarkMode') ?? false;
final username = prefs.getString('username');
final items = prefs.getStringList('items') ?? [];
// Andmete kustutamine
await prefs.remove('username');
await prefs.clear(); // Kustutab kõik andmed