CodeBlanks Logo Icon CodeBlanks

Özet - shared_preferences

getInstance ve set/get'i birleştirerek ayar ekranı yaparsın.

Özet - shared_preferences

Bu grupta shared_preferences ile anahtar-değer veri saklamayı öğrendin. getInstance() ile async erişim, setString/setInt ile yazma, getString/getInt ile okuma ve ?? ile varsayılan değer vermeyi birleştirdin. Ayar ekranlarında bu adımları birlikte kullanırsın.

final prefs = await SharedPreferences.getInstance();
await prefs.setString('name', 'Ada');
final name = prefs.getString('name') ?? 'misafir';

Uygulama Ayar ekranı: isim kaydet ve oku

getInstance ile prefs al, setString('name', 'Ada') ile ismi kaydet, getString('name') ?? 'misafir' ile oku ve print ile bastır.

Başlangıç kodu

main.dart
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // getInstance ile prefs al
  // setString ile 'name' = 'Ada' kaydet
  // getString ile oku, yoksa 'misafir' ver
  // print ile bastır
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: Scaffold(body: Center(child: Text('ayarlar')));
  }
}

Örnek çözüm

main.dart
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  final prefs = await SharedPreferences.getInstance();
  await prefs.setString('name', 'Ada');
  final name = prefs.getString('name') ?? 'misafir';
  print(name);
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: Scaffold(body: Center(child: Text('ayarlar')));
  }
}

Beklenen çıktı

Ada

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Ayar ekranında doğru sıra nedir?

  • getInstance → setString → getString Doğru cevap
  • setString → getString → getInstance
  • getInstance → getString → setString
  • getString → getInstance → setString

Açıklama: Önce getInstance ile prefs alırsın, sonra setString ile yazar, en son getString ile okursun. getInstance her zaman ilk adımdır.

2 İsim kaydet

Soru
await prefs.setString(____);
Cevap
await prefs.setString('name', 'Ada');

Açıklama: setString iki parametre alır: önce anahtar ('name'), sonra değer ('Ada'). Sıra ters olursa yanlış anahtar-değer çifti oluşur.

3 shared_preferences özeti

Kavram Anlamı
getInstance Async erişim sağlar
setString String yazar
getString String okur
?? Varsayılan değer verir

Orta seviye bölümündeki tüm dersler