Mobiele ontwikkeling met Flutter · Les

Shared Preferences voor gegevens

Gebruik `shared_preferences` om kleine hoeveelheden gegevens, zoals gebruikersinstellingen en voorkeuren, lokaal op te slaan als sleutel-waardeparen.

Les 1 van 412 stappen

Shared Preferences voor gegevens is een gratis Mobiele ontwikkeling met Flutter-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Mobiele ontwikkeling met Flutter. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Mobiele ontwikkeling met Flutter bevat in totaal 4 lessen.

Wat zijn gedeelde voorkeuren?

Bij het bouwen van mobiele apps moet je vaak kleine hoeveelheden gegevens lokaal op het apparaat opslaan. Dat kan van alles zijn, van de voorkeur voor de donkere modus van een gebruiker tot de status dat die gebruiker voor het laatst was ingelogd.

shared_preferences is een Flutter-pakket waarmee je precies dat kunt doen! Het biedt een eenvoudige manier om sleutel-waardeparen met primitieve gegevenstypen op te slaan.

Waarom gedeelde voorkeuren gebruiken?

  • Eenvoudige gegevens: Ideaal voor het opslaan van eenvoudige gegevenstypen, zoals booleans, gehele getallen, kommagetallen, tekenreeksen en lijsten met tekenreeksen.
  • Gebruikersinstellingen: Perfect voor het opslaan van gebruikersvoorkeuren, app-instellingen of themakeuzes.
  • Lichtgewicht: Een snelle en eenvoudige manier om kleine hoeveelheden gegevens te bewaren zonder een volledige database nodig te hebben.

Zie het als een klein digitaal notitieblok voor het tijdelijke geheugen van je app!

Het pakket installeren

Als je shared_preferences wilt gebruiken, moet je het eerst aan de afhankelijkheden van je project toevoegen.

Open het pubspec.yaml-bestand en voeg de volgende regel toe onder dependencies:

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.2.2 # Add this line

Je eerste voorkeur opslaan

Nadat je het pakket hebt toegevoegd, kun je gegevens gaan opslaan. Je moet een exemplaar van SharedPreferences ophalen en vervolgens methoden zoals setBool() en setString() gebruiken.

Vergeet niet await te gebruiken, omdat deze bewerkingen asynchroon zijn!

import 'package:shared_preferences/shared_preferences.dart';

Future<void> saveSetting() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.setBool('isDarkMode', true);
  print('Dark mode setting saved!');
}

Uitvoeren: een boolean opslaan

Voer dit voorbeeld uit om te zien hoe een booleanwaarde wordt opgeslagen. We stellen een vlag 'welcomeShown' in op true.

import 'package:flutter/widgets.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized(); 
  SharedPreferences prefs = await SharedPreferences.getInstance();

  // Save a boolean value
  await prefs.setBool('welcomeShown', true);
  print('welcomeShown saved: ${prefs.getBool('welcomeShown')}');
}

Opgeslagen gegevens ophalen

Om gegevens terug te krijgen, gebruik je bijbehorende get-methoden, zoals getBool() en getString(). Deze methoden retourneren een nullable type (bijvoorbeeld bool?), omdat de sleutel mogelijk niet bestaat.

Het is een goede gewoonte om met de operator ?? een standaardwaarde op te geven als de sleutel niet wordt gevonden.

import 'package:shared_preferences/shared_preferences.dart';

Future<bool> getSetting() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  // Get 'isDarkMode', default to false if not found
  bool isDark = prefs.getBool('isDarkMode') ?? false;
  return isDark;
}

Uitvoeren: een boolean laden

Laten we de voorkeur welcomeShown laden die we eerder hebben opgeslagen. Let erop hoe we omgaan met het geval waarin deze mogelijk niet bestaat door de standaardwaarde false op te geven.

import 'package:flutter/widgets.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SharedPreferences prefs = await SharedPreferences.getInstance();

  // Load 'welcomeShown', default to false if not present
  bool welcomeShown = prefs.getBool('welcomeShown') ?? false;
  print('Is welcome screen already shown? $welcomeShown');

  // Let's try to load a key that doesn't exist
  String? userName = prefs.getString('userName');
  print('User Name: ${userName ?? 'Guest'}');
}

Andere gegevenstypen opslaan

shared_preferences ondersteunt verschillende basale gegevenstypen:

  • setString(key, value) voor tekst
  • setInt(key, value) voor gehele getallen
  • setDouble(key, value) voor kommagetallen
  • setStringList(key, value) voor lijsten met tekenreeksen

Voor elk type bestaan overeenkomstige get-methoden.

Uitvoeren: gemengde gegevens opslaan

In dit voorbeeld ziet u hoe u een tekenreeks, een geheel getal en een lijst met tekenreeksen opslaat en laadt. Bekijk hoe verschillende typen worden verwerkt.

import 'package:flutter/widgets.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  SharedPreferences prefs = await SharedPreferences.getInstance();

  // Save different data types
  await prefs.setString('userName', 'Coddy');
  await prefs.setInt('score', 12345);
  await prefs.setStringList('favoriteFoods', ['Pizza', 'Sushi', 'Tacos']);
  print('All data saved!');

  // Load and print them
  String? name = prefs.getString('userName');
  int? score = prefs.getInt('score');
  List<String>? foods = prefs.getStringList('favoriteFoods');

  print('User Name: ${name ?? 'N/A'}');
  print('Score: ${score ?? 0}');
  print('Favorite Foods: ${foods ?? []}');
}

Voorkeuren verwijderen

U kunt opgeslagen voorkeuren ook verwijderen:

  • remove(key): Verwijdert een specifieke sleutel-waardecombinatie.
  • clear(): Verwijdert ALLE gegevens die uw app met shared_preferences heeft opgeslagen. Gebruik dit voorzichtig!

Beide methoden zijn asynchroon en geven een Future<bool> terug die aangeeft of de bewerking is geslaagd.

Korte controle

U wilt de voorkeurstaal van een gebruiker opslaan. Dit is één tekenreeks, zoals 'en_US' of 'es_ES'. Welke methode van shared_preferences is het meest geschikt om deze gegevens op te slaan?

Samenvatting en volgende stappen

Goed gedaan! U hebt geleerd hoe u shared_preferences gebruikt om kleine, eenvoudige gegevens lokaal op te slaan en op te halen in uw Flutter-applicaties.

  • Het is ideaal voor gebruikersinstellingen en voorkeuren.
  • Het ondersteunt basistypen: bool, int, double, string en List<String>.
  • Bewerkingen zijn asynchroon (gebruik await).
  • Vergeet niet om null-waarden af te handelen wanneer u gegevens ophaalt.

Vervolgens gaat u meer gestructureerde gegevensopslag met SQLite-databases verkennen!

Gratis beginnen

Leer Dart met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
22
Lessen
88

Veelgestelde vragen

Is de les “Shared Preferences voor gegevens” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Mobiele ontwikkeling met Flutter, waaronder “Shared Preferences voor gegevens”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Mobiele ontwikkeling met Flutter bevat in totaal 4 lessen.

Wat leer ik in “Shared Preferences voor gegevens”?

Gebruik `shared_preferences` om kleine hoeveelheden gegevens, zoals gebruikersinstellingen en voorkeuren, lokaal op te slaan als sleutel-waardeparen. Je oefent met Mobiele ontwikkeling met Flutter door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Mobiele ontwikkeling met Flutter te beginnen?

Ervaring vooraf is niet nodig. Mobiele ontwikkeling met Flutter op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Shared Preferences voor gegevens”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Mobiele ontwikkeling met Flutter?

Ja. Elke les over Mobiele ontwikkeling met Flutter bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Shared Preferences voor gegevens
  2. SQLite-database-integratie
  3. Bewerkingen op het bestandssysteem
  4. Hive en lokale NoSQL-opslag
← Terug naar Mobiele ontwikkeling met Flutter