Junior
Flutter'da SharedPreferences kullanımının özelliği nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
SharedPreferences, küçük veri hacimlerini (ilkel tipler: int, double, bool, String, List<String>) anahtar-değer çiftleri olarak saklamak için basit bir API sağlar. Veriler asenkron olarak kaydedilir. Bu, kullanıcı ayarları, durum bayrakları ve diğer kritik olmayan bilgiler için uygundur.
Özellikler:
- Kullanım kolaylığı: API hafif ve sezgiseldir.
- Asenkron işlemler: Tüm okuma ve yazma işlemleri asenkron olup, UI akışını engellemez.
- Sınırlı tip seti: Sadece temel tipleri ve string listelerini destekler.
- Büyük veri veya karmaşık veri için uygun değil: Büyük veri yapıları veya çok sayıda kayıt saklamak için verimli değildir.
- Platform bağımlılığı: Uygulama, yerel depolama mekanizmalarına dayanır (örneğin, iOS'ta
NSUserDefaults, Android'deSharedPreferences). - Güvenli olmayan saklama: Veriler açık metin olarak saklanır, şifreler veya diğer hassas bilgiler için uygun değildir.
- Erişim için
awaitgerekir:SharedPreferencesörneği almak ve okuma/yazma işlemleri yapmak içinawaitkullanmak gerekir.
Kullanım örneği:
// SharedPreferences örneği alma
final prefs = await SharedPreferences.getInstance();
// Veri kaydetme
await prefs.setInt('counter', 10);
await prefs.setBool('isDarkMode', true);
await prefs.setString('username', 'FlutterDev');
await prefs.setStringList('items', ['apple', 'banana']);
// Veri okuma
final counter = prefs.getInt('counter') ?? 0; // Varsayılan değer için ?? kullanımı
final isDarkMode = prefs.getBool('isDarkMode') ?? false;
final username = prefs.getString('username');
final items = prefs.getStringList('items') ?? [];
// Veri silme
await prefs.remove('username');
await prefs.clear(); // Tüm verileri sil