shared_preferences是 Flutter 中最常用的本地数据存储方案用于保存简单的键值对数据如用户设置、登录状态等。最好在APP启动的时候初始化持久化存储比如在Welcome_page中初始化。添加依赖dependencies: shared_preferences: ^2.5.2 #轻量级数据存储导入包import package:shared_preferences/shared_preferences.dart;SharedPreferences 支持 5 种数据类型类型 保存方法 读取方法 字符串 setString() getString() 整数 setInt() getInt() 布尔值 setBool() getBool() 浮点数 setDouble() getDouble() 字符串列表 setStringList() getStringList()获取实例//1.初始化标志位 bool isInit false; //2.声明一个实例 late final SharedPreferences _prefs; //3.创建单例实例 static final PreferenceService _instance PreferenceService._(); //私有构造函数 //4.执行私有构造函数 PreferenceService._(){ _init(); } //5.初始化方法 void _init() async{ _prefs await SharedPreferences.getInstance(); //赋值 isInit true; //更新标志位 } //6.提供外部方法获取这个实例 static PreferenceService get instance _instance; ///初始化应该在Welcome_page里面初始化并且只初始化一次 //PreferenceService.instance.isInit保存数据Futurevoid saveData() async { // 保存字符串 await prefs.setString(username, 张三); // 保存整数 await prefs.setInt(age, 25); // 保存布尔值 await prefs.setBool(isLoggedIn, true); // 保存浮点数 await prefs.setDouble(height, 175.5); // 保存字符串列表 await prefs.setStringList(hobbies, [读书, 跑步, 编程]); print(保存成功); }读取数据Futurevoid readData() async { // 读取字符串提供默认值 String username prefs.getString(username) ?? 游客; // 读取整数 int age prefs.getInt(age) ?? 0; // 读取布尔值 bool isLoggedIn prefs.getBool(isLoggedIn) ?? false; // 读取浮点数 double height prefs.getDouble(height) ?? 0.0; // 读取字符串列表 ListString hobbies prefs.getStringList(hobbies) ?? []; print(用户名: $username); print(年龄: $age); print(登录状态: $isLoggedIn); print(身高: $height); print(爱好: $hobbies); }删除数据Futurevoid deleteData() async { // 删除单个键 await prefs.remove(username); // 清空所有数据 await prefs.clear(); print(删除成功); }检查键是否存在Futurevoid checkKey() async { // 检查键是否存在 bool hasUsername prefs.containsKey(username); print(是否有用户名: $hasUsername); // 获取所有键 SetString keys prefs.getKeys(); print(所有保存的键: $keys); }