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(); // Ҳама маълумотро тоза мекунад