Sobes.tech
Junior

Wat is de eigenschap van het gebruik van SharedPreferences in Flutter?

sobes.tech AI

Antwoord van AI

SharedPreferences biedt een eenvoudige API voor het opslaan van kleine hoeveelheden gegevens (primitieve typen: int, double, bool, String, List<String>) in de vorm van key-value paren. De gegevens worden asynchroon opgeslagen. Dit is geschikt voor het opslaan van gebruikersinstellingen, statusvlaggen en andere niet-kritische informatie.

Kenmerken:

  • Gebruiksgemak: De API is lichtgewicht en intuïtief.
  • Asynchrone operaties: Alle lees- en schrijfoperaties zijn asynchroon, waardoor de UI-thread niet wordt geblokkeerd.
  • Beperkt type-assortiment: Ondersteunt alleen primitieve types en lijst van strings.
  • Niet geschikt voor grote hoeveelheden of complexe gegevens: Niet efficiënt voor het opslaan van grote datastructuren of veel records.
  • Platformafhankelijk: De implementatie is gebaseerd op native opslagmechanismen (bijvoorbeeld NSUserDefaults op iOS, SharedPreferences op Android).
  • Onveilig voor vertrouwelijke informatie: Gegevens worden in platte tekst opgeslagen, niet geschikt voor wachtwoorden of andere gevoelige informatie.
  • Toegang vereist await: Het verkrijgen van de SharedPreferences-instantie en het uitvoeren van lees-/schrijfoperaties vereisen het gebruik van await.

Voorbeeld van gebruik:

// Verkrijg de instantie van SharedPreferences
final prefs = await SharedPreferences.getInstance();

// Gegevens opslaan
await prefs.setInt('counter', 10);
await prefs.setBool('isDarkMode', true);
await prefs.setString('username', 'FlutterDev');
await prefs.setStringList('items', ['apple', 'banana']);

// Gegevens lezen
final counter = prefs.getInt('counter') ?? 0; // Gebruik ?? voor standaardwaarde
final isDarkMode = prefs.getBool('isDarkMode') ?? false;
final username = prefs.getString('username');
final items = prefs.getStringList('items') ?? [];

// Gegevens verwijderen
await prefs.remove('username');
await prefs.clear(); // Verwijdert alle gegevens