shared_preferences nedir?
- Flutter kursu
- Orta seviye
- Ders 36/99
- 4 dk
shared_preferences ile basit anahtar-değer saklamayı öğrenirsin.
shared_preferences nedir?
shared_preferences, uygulamanın basit anahtar-değer verilerini kalıcı olarak saklamak için kullanılan pakettir. Kullanıcı tercihleri, ayarlar ve küçük bayraklar için uygundur; büyük dosyalar ya da hassas veriler için değildir. Veriler uygulama kapatılsa bile kalır.
import 'package:shared_preferences/shared_preferences.dart';
final prefs = await SharedPreferences.getInstance();
await prefs.setString('name', 'Ada');Anahtar-değer yapısı
shared_preferences'te her veri bir anahtarla (String) saklanır ve değer ilkel bir türdür: String, int, bool, double ya da String listesi. Aynı anahtara tekrar yazarsan eski değer üzerine yazılır. Okurken anahtar yoksa null döner.
// yazma
await prefs.setString('theme', 'dark');
await prefs.setBool('loggedIn', true);
// okuma
prefs.getString('theme'); // 'dark' ya da nullUygulama shared_preferences ile değer sakla
shared_preferences paketini içe aktar, getInstance ile prefs al, 'greeting' anahtarına 'merhaba' değerini yaz ve print ile bastır.
Başlangıç kodu
import 'package:flutter/material.dart';
// shared_preferences paketini içe aktar
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// getInstance ile prefs al
// 'greeting' anahtarına 'merhaba' yaz
// değeri print ile bastır
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(home: Scaffold(body: Center(child: Text('shared_preferences')));
}
}Ö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('greeting', 'merhaba');
print(prefs.getString('greeting'));
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(home: Scaffold(body: Center(child: Text('shared_preferences')));
}
}Beklenen çıktı
merhaba
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 shared_preferences ile hangi veriyi saklamak uygundur?
- Binlerce resim dosyası
- Şifre ve kredi kartı numarası
- Gerçek zamanlı sohbet mesajları
- Kullanıcı teması ve ayarları Doğru cevap
Açıklama: shared_preferences küçük, ilkel türdeki anahtar-değer çiftleri için tasarlanmıştır; büyük dosyalar ve hassas veriler için uygun değildir.
2 shared_preferences paketini içe aktar
import 'package:____.dart';
import 'package:shared_preferences/shared_preferences.dart';
Açıklama: shared_preferences paketinin import yolu package:shared_preferences/shared_preferences.dart şeklindedir.
3 shared_preferences parçaları
| Kavram | Anlamı |
|---|---|
shared_preferences |
Paket adı |
anahtar |
String tanımlayıcı |
değer |
Saklanan veri |
kalıcı |
Uygulama kapansa da durur |