Özet - shared_preferences
- Flutter kursu
- Orta seviye
- Ders 40/99
- 4 dk
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
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
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
await prefs.setString(____);
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 |