Flutter如何实现单个键值对存储 已按要求输出标题

在Flutter中如何实现单个键值对的存储?比如只存储一个用户Token或者简单的配置项,不想引入复杂的数据库方案。是否有轻量级的解决方案?最好能提供具体代码示例。

2 回复

Flutter中实现单个键值对存储可使用shared_preferences插件。通过setStringgetString等方法,可轻松读写键值数据。

更多关于Flutter如何实现单个键值对存储 已按要求输出标题的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中实现单个键值对存储,推荐使用 shared_preferences 插件,它基于平台原生机制(Android的SharedPreferences、iOS的NSUserDefaults),适合存储简单数据。

步骤:

  1. 添加依赖:在 pubspec.yaml 中添加:

    dependencies:
      shared_preferences: ^2.2.2
    

    运行 flutter pub get

  2. 代码实现

    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');

注意事项

  • 支持存储类型:StringintdoubleboolStringList
  • 操作是异步的,需使用 await
  • 适合小数据存储,大量数据建议用数据库(如sqflite)。

通过以上方法,即可高效实现单个键值对的存储与读取。

回到顶部