导入依赖
# 本地配置数据存储
shared_preferences: ^2.0.15
import 'package:shared_preferences/shared_preferences.dart';
/// shared_preferences 工具类
/// 封装一层,方面后续维护
class SpUtil {
/// 静态变量指向自身
static final SpUtil _instance = SpUtil._();
/// 私有构造器
SpUtil._();
/// 方案1:静态方法获得实例变量
static SpUtil getInstance() => _instance;
/// 方案2:工厂构造方法获得实例变量(不能异步)
//factory SPUtils() => _instance;
/// 方案3:静态属性获得实例变量
//static SPUtils get instance => _instance;
Future<bool> setString(String key, String value) async {
final prefs = await SharedPreferences.getInstance();
return prefs.setString(key, value);
}
Future<String?> getString(String key) async {
final prefs = await SharedPreferences.getInstance();
return prefs.getString(key);
}
Future<bool> setInt(String key, int value) async {
final prefs = await SharedPreferences.getInstance();
return prefs.setInt(key, value);
}
Future<int?> getInt(String key) async {
final prefs = await SharedPreferences.getInstance();
return prefs.getInt(key);
}
Future<bool> setBool(String key, bool value) async {
final prefs = await SharedPreferences.getInstance();
return prefs.setBool(key, value);
}
Future<bool?> getBool(String key) async {
final prefs = await SharedPreferences.getInstance();
return prefs.getBool(key);
}
Future<bool> setDouble(String key, double value) async {
final prefs = await SharedPreferences.getInstance();
return prefs.setDouble(key, value);
}
Future<double?> getDouble(String key) async {
final prefs = await SharedPreferences.getInstance();
return prefs.getDouble(key);
}
Future<bool> setStringList(String key, List<String> value) async {
final prefs = await SharedPreferences.getInstance();
return prefs.setStringList(key, value);
}
Future<List<String>?> getStringList(String key) async {
final prefs = await SharedPreferences.getInstance();
return prefs.getStringList(key);
}
}
应用案列
///保存用户信息
static void setUserJson(String userJson) async {
await SpUtil.getInstance().setString(spUser, userJson);
}
///获取用户信息
static Future<String?> getUserJson() async {
return await SpUtil.getInstance().getString(spUser);
}