Junior
SharedPreferences nedir ve nasıl kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
SharedPreferences, küçük veri hacimlerini anahtar-değer çiftleri olarak saklamak için basit bir mekanizmadır. Kullanıcı ayarlarını veya küçük bayrakları saklamak için idealdir.
Kullanım:
-
Bağımlılığı ekle:
pubspec.yamldosyasına şunu ekliyoruz:dependencies: flutter: sdk: flutter shared_preferences: ^2.2.0 # Güncel sürümü kullanınve
flutter pub getkomutunu çalıştırıyoruz. -
İçe aktar:
import 'package:shared_preferences/shared_preferences.dart'; -
Örnek alın:
// Asenkron işlem SharedPreferences prefs = await SharedPreferences.getInstance(); -
Veri kaydet:
// Dize kaydet prefs.setString('username', 'Alice'); // Sayı (int) kaydet prefs.setInt('age', 30); // Sayı (double) kaydet prefs.setDouble('salary', 50000.50); // Boolean değer kaydet prefs.setBool('darkMode', true); // Dize listesi kaydet prefs.setStringList('items', ['item1', 'item2']);Tüm kaydetme metodları
Future<bool>döner ve işlemin başarılı olup olmadığını gösterir. -
Veri oku:
// Dize oku String? username = prefs.getString('username'); // Anahtar bulunamazsa null döner // Sayı (int) oku int? age = prefs.getInt('age'); // Sayı (double) oku double? salary = prefs.getDouble('salary'); // Boolean değeri oku bool? darkMode = prefs.getBool('darkMode'); // Dize listesi oku List<String>? items = prefs.getStringList('items'); -
Veri sil:
// Anahtarla sil prefs.remove('username'); // `Future<bool>` döner // Tüm verileri sil prefs.clear(); // `Future<bool>` döner
Kısıtlamalar:
- Büyük veri hacimleri veya karmaşık yapılar için uygun değildir.
- Veriler açık biçimde saklanır (uygulama seviyesinde bile), hassas bilgiler için uygun değildir.
- Temel veri tipleriyle çalışır. Nesneler için serileştirme/serileştirmeden geçmek gerekir (örneğin json kullanarak).