CodeBlanks Logo Icon CodeBlanks

set ve get

setString, getInt ve getString metodlarını öğrenirsin.

set ve get metodları

shared_preferences ile veri yazmak için setString, setInt, setBool, setDouble metodlarını kullanırsın. Okumak için getString, getInt, getBool metodlarını çağırırsın. set metodları Future<bool> döndürür, get metodları değeri (ya da null) döndürür.

await prefs.setString('name', 'Ada');  // yaz
await prefs.setInt('age', 25);          // yaz

prefs.getString('name');  // 'Ada'
prefs.getInt('age');      // 25

Get metodları ve null durumu

Anahtar daha önce yazılmadıysa get metodları null döndürür. Bunun için ?? operatörü ile varsayılan değer verebilirsin: prefs.getString('theme') ?? 'light'. Böylece uygulama ilk açıldığında varsayılan tema kullanılır.

final theme = prefs.getString('theme') ?? 'light';
final count = prefs.getInt('count') ?? 0;

Uygulama setInt ile yaz, getInt ile oku

getInstance ile prefs al, setInt('count', 7) ile değer yaz, getInt('count') 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();
  final prefs = await SharedPreferences.getInstance();
  // setInt ile 'count' = 7 yaz
  // getInt ile oku ve print ile bastır
  runApp(MyApp());
}

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

Ö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.setInt('count', 7);
  print(prefs.getInt('count'));
  runApp(MyApp());
}

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

Beklenen çıktı

7

Soru ve cevaplar

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

1 Saklanan bir int değerini okumak için hangi metod kullanılır?

  • getString
  • setInt
  • setString
  • getInt Doğru cevap

Açıklama: int türünde bir değer okumak için getInt kullanılır; setInt yazmak içindir, getString ise String okur.

2 setInt ile değer yaz

Soru
await prefs.____;
Cevap
await prefs.setInt('count', 7);

Açıklama: int saklamak için setInt kullanılır; anahtar ve int değer alır. setString String alır, getInt ise okuma yapar.

3 Metod - tür eşleştirme

Kavram Anlamı
setString String yazar
getString String okur
setInt int yazar
getInt int okur

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