Study
Flutter

Local Storage: shared_preferences

Penjelasan

shared_preferences adalah package resmi Flutter untuk menyimpan data kecil (string, int, bool, dst) secara PERSISTEN di device — datanya tetap ada walau aplikasi ditutup dan dibuka lagi, cocok untuk preferensi user atau token login, TAPI TIDAK cocok untuk data terstruktur besar (untuk itu, dipakai database lokal seperti sqflite atau Hive).

Contoh Konsep

// flutter pub add shared_preferences
Future<void> simpanTema(String tema) async {
    final prefs = await SharedPreferences.getInstance();
    await prefs.setString('tema', tema);
}

Future<String> ambilTema() async {
    final prefs = await SharedPreferences.getInstance();
    return prefs.getString('tema') ?? 'terang'; // nilai default kalau belum pernah disimpan
}

Praktikum

Buat fungsi simpanBahasa(String bahasa) yang menyimpan preferensi bahasa lewat SharedPreferences. Buat fungsi ambilBahasa() yang membacanya kembali dengan nilai default 'id' kalau belum pernah disimpan.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

SharedPreferences.getInstance() bersifat ASYNCHRONOUS (mengembalikan Future) — WAJIB di-await sebelum bisa memanggil setString()/getString(), kesalahan umum pemula adalah lupa await dan mencoba memanggil method itu langsung dari objek Future yang belum ter-resolve.