Junior
Aká je vlastnosť používania SharedPreferences vo Flutteri?
sobes.tech AI
Odpoveď od AI
SharedPreferences poskytuje preprost API za shranjevanje majhnih količin podatkov (primitivni tipi: int, double, bool, String, List<String>) v obliki parov ključ-vrednost. Podatki se shranjujejo asinhrono. To je primerno za shranjevanje uporabniških nastavitev, zastavic stanja in drugih nekritičnih informacij.
Lastnosti:
- Enostavnost uporabe: API je lahek in intuitiven.
- Asinhrone operacije: Vse operacije branja in pisanja so asinhrone, kar preprečuje blokiranje UI niti.
- Omejen nabor tipov: Podpira samo primitivne tipe in sezname nizov.
- Ni primerno za velike količine ali kompleksne podatke: Ni učinkovit za shranjevanje velikih struktur podatkov ali velikega števila zapisov.
- Odvisnost od platforme: Implementacija temelji na nativnih mehanizmih shranjevanja (npr.
NSUserDefaultsna iOS,SharedPreferencesna Androidu). - Nezavarovano shranjevanje za zaupne informacije: Podatki se shranjujejo v odprtem besedilu, niso primerni za gesla ali druge občutljive informacije.
- Za dostop je potreben
await: Pridobivanje instanceSharedPreferencesin izvajanje operacij branja/pisanja zahtevata uporaboawait.
Primer uporabe:
// Pridobivanje instance SharedPreferences
final prefs = await SharedPreferences.getInstance();
// Shranjevanje podatkov
await prefs.setInt('counter', 10);
await prefs.setBool('isDarkMode', true);
await prefs.setString('username', 'FlutterDev');
await prefs.setStringList('items', ['apple', 'banana']);
// Branje podatkov
final counter = prefs.getInt('counter') ?? 0; // Uporaba ?? za privzeto vrednost
final isDarkMode = prefs.getBool('isDarkMode') ?? false;
final username = prefs.getString('username');
final items = prefs.getStringList('items') ?? [];
// Brisanje podatkov
await prefs.remove('username');
await prefs.clear(); // Izbriše vse podatke