Sobes.tech
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 await tələb edir: SharedPreferences instansiyasını almaq və oxuma/yazma əməliyyatlarını yerinə yetirmək üçün await istifadə 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