Flutter如何实现单个键值对存储 已按要求输出标题
在Flutter中如何实现单个键值对的存储?比如只存储一个用户Token或者简单的配置项,不想引入复杂的数据库方案。是否有轻量级的解决方案?最好能提供具体代码示例。
2 回复
在Flutter中实现单个键值对存储,推荐使用 shared_preferences 插件,它基于平台原生机制(Android的SharedPreferences、iOS的NSUserDefaults),适合存储简单数据。
步骤:
-
添加依赖:在
pubspec.yaml中添加:dependencies: shared_preferences: ^2.2.2运行
flutter pub get。 -
代码实现:
import 'package:shared_preferences/shared_preferences.dart'; // 保存数据 Future<void> saveData(String key, String value) async { final prefs = await SharedPreferences.getInstance(); await prefs.setString(key, value); } // 读取数据 Future<String?> readData(String key) async { final prefs = await SharedPreferences.getInstance(); return prefs.getString(key); } // 删除数据 Future<void> deleteData(String key) async { final prefs = await SharedPreferences.getInstance(); await prefs.remove(key); }
使用示例:
// 保存
await saveData('username', 'John');
// 读取
String? name = await readData('username');
print(name); // 输出: John
// 删除
await deleteData('username');
注意事项:
- 支持存储类型:
String、int、double、bool、StringList。 - 操作是异步的,需使用
await。 - 适合小数据存储,大量数据建议用数据库(如sqflite)。
通过以上方法,即可高效实现单个键值对的存储与读取。


