Sobes.tech
Junior

Хусусияти истифодаи SharedPreferences дар Flutter чист?

sobes.tech AI

Ҷавоб аз AI

SharedPreferences як API-и соддао мекунад барои нигоҳдории миқдори ками маълумотҳо (типаҳои асосӣ: int, double, bool, String, List<String>) дар шакли ҷуфтҳои калид-арзиш. Маълумотҳо ба таври асинхронӣ нигоҳ дошта мешаванд. Ин барои нигоҳдории танзимоти корбар, рамзҳои ҳолат ва дигар маълумоти ғайри критикӣ мувофиқ аст.

Хусусиятҳо:

  • Осон истифода кардан: API сабук ва содда аст.
  • Амалиётҳои асинхронӣ: Ҳамаи амалиётҳои хондан ва навиштан асинхронӣ мебошанд, ки аз бастани сӯзишвории UI пешгирӣ мекунад.
  • Маҳдудияти намудҳои: Танҳо намудҳои асосӣ ва рӯйхатҳои сатрҳоро дастгирӣ мекунад.
  • Барои миқдори калон ё маълумоти мураккаб мувофиқ нест: Барои нигоҳдории сохторҳои калон ё шумораи зиёди сабтҳо самаранок нест.
  • ТавDependence platform: Иҷроия ба механизмҳои маҳаллӣ (масалан, NSUserDefaults дар iOS, SharedPreferences дар Android) асос ёфтааст.
  • Насозона барои нигоҳдории маълумоти махфӣ: Маълумот дар шакли кушода нигоҳ дошта мешавад, барои паролҳо ё маълумоти ҳассос мувофиқ нест.
  • Барои дастрасӣ await лозим аст: Гирифтани намунаи SharedPreferences ва иҷрои амалиётҳои хондан/навишт талаб мекунад, ки await истифода шавад.

Маслиҳат:

// Гирифтани намунаи SharedPreferences
final prefs = await SharedPreferences.getInstance();

// Нақли маълумот
await prefs.setInt('counter', 10);
await prefs.setBool('isDarkMode', true);
await prefs.setString('username', 'FlutterDev');
await prefs.setStringList('items', ['apple', 'banana']);

// Хондани маълумот
final counter = prefs.getInt('counter') ?? 0; // Истифодаи ?? барои арзиши пешфарз
final isDarkMode = prefs.getBool('isDarkMode') ?? false;
final username = prefs.getString('username');
final items = prefs.getStringList('items') ?? [];

// Накли маълумот
await prefs.remove('username');
await prefs.clear(); // Ҳама маълумотро тоза мекунад