什么是shared_preferences?
shared_preferences是Flutter社區(qū)開發(fā)的一個本地數(shù)據(jù)存取插件,它有以下特性:
1.簡單的,異步的,持久化的key-value存儲系統(tǒng);
2.在Android上它是基于SharedPreferences的;
3.在iOS上它是基于NSUserDefaults的;
shared_preferences如何使用?
在pubspec.yaml 中添加
# 數(shù)據(jù)存儲????????shared_preferences: ^0.5.12+4
封裝代碼如下:
import 'package:shared_preferences/shared_preferences.dart';
///
/// SharedPreferences 存儲封裝
///
class SpDataUtils {
static setDate(String key, value)async {
SharedPreferences prefs =await SharedPreferences.getInstance();
? ? if (valueis String) {
????prefs.setString(key, value);
? ? }else if (valueis num) {
????prefs.setInt(key, value);
? ? }else if (valueis double) {
????prefs.setDouble(key, value);
? ? }else if (valueis bool) {
????prefs.setBool(key, value);
? ? }else if (valueis List) {
????prefs.setStringList(key, value.cast());
? ? }
}
/// 返回數(shù)據(jù)data -> replace -> null
? static FuturegetData(String key, [dynamic replace])async {
? ?SharedPreferences prefs =await SharedPreferences.getInstance();
? ? var data = prefs.get(key);
? ? return data ?? replace ??null;
? }
///刪除指定數(shù)據(jù)
? static void remove(String key)async {
? ?SharedPreferences prefs =await SharedPreferences.getInstance();
? ? prefs.remove(key); //刪除指定鍵
? }
///清除數(shù)據(jù)
? static void clear()async {
? ?SharedPreferences prefs =await SharedPreferences.getInstance();
? ? prefs.clear(); ////清空緩存
? }
}
使用:
取值:
SpDataUtils.getData('isSplash',false).then((result){
});
設(shè)置值
SpDataUtils.setDate('isSplash', true);