Junior
Flutter-də SharedPreferences istifadə etməyin xüsusiyyəti nədir?
sobes.tech Süni İntellekt
AI-dan cavab
SharedPreferences kiçik həcmdə məlumatların (əsas tiplər: int, double, bool, String, List<String>) açar-dəyər cütləri şəklində saxlanması üçün sadə API təmin edir. Məlumatlar asinxron şəkildə saxlanılır. Bu, istifadəçi parametrlərinin, vəziyyət bayraqlarının və digər kritik olmayan məlumatların saxlanması üçün uyğundur.
Xüsusiyyətlər:
- İstifadə asanlığı: API yüngül və intuitivdir.
- Asinxron əməliyyatlar: Bütün oxuma və yazma əməliyyatları asinxron olub, UI axını bloklamır.
- Məhdud tiplər dəsti: Yalnız əsas tipləri və sətir siyahılarını dəstəkləyir.
- Böyük həcmli və ya mürəkkəb məlumatlar üçün uyğun deyil: Böyük məlumat strukturlarını və ya çox sayda qeydi saxlamaq üçün səmərəli deyil.
- Platformaya bağlıdır: İcra native saxlama mexanizmlərinə əsaslanır (məsələn, iOS-də
NSUserDefaults, Android-dəSharedPreferences). - Gizli məlumatlar üçün təhlükəsiz deyil: Məlumatlar açıq mətn şəklində saxlanılır, şifrələr və ya digər həssas məlumatlar üçün uyğun deyil.
- Əlçatanlıq üçün
awaittələb edir:SharedPreferencesinstansiyasını almaq və oxuma/yazma əməliyyatlarını yerinə yetirmək üçünawaitistifadə etmək lazımdır.
İstifadə nümunəsi:
// SharedPreferences nümunəsini əldə etmək
final prefs = await SharedPreferences.getInstance();
// Məlumatların saxlanması
await prefs.setInt('counter', 10);
await prefs.setBool('isDarkMode', true);
await prefs.setString('username', 'FlutterDev');
await prefs.setStringList('items', ['apple', 'banana']);
// Məlumatların oxunması
final counter = prefs.getInt('counter') ?? 0; // Defaults üçün ?? istifadə olunur
final isDarkMode = prefs.getBool('isDarkMode') ?? false;
final username = prefs.getString('username');
final items = prefs.getStringList('items') ?? [];
// Məlumatların silinməsi
await prefs.remove('username');
await prefs.clear(); // Bütün məlumatlar silinir