小编Nat*_*eum的帖子

如何使用 SharedPreferences 保存数据类型映射

我想使用 SharedPreferences 保存类型为映射的提供程序数据,但我找不到保存类型映射的方法。

有没有办法一次性保存地图?

// 提供者数据

    class SettingDataHandler extends ChangeNotifier {
    
    
      Map<String, dynamic> selectedTimes = {
        "Pomodoro Setting": 15,
        "Rest Time Setting": 5,
        "Long Rest Time Setting": 15,
        "Term of Resting Time Setting": 5
      };
    
      setTime(String typeOfSetting, int changeValue) {
        selectedTimes.update(typeOfSetting, (value) => changeValue);
        notifyListeners();
      }
    }
Run Code Online (Sandbox Code Playgroud)

// 这是我使用 SharedPreferences 的代码

  Future<int> _initPref() async {
      prefs = await SharedPreferences.getInstance();
      var timeData = prefs.get('timeData');
      if (timeData != null) {
        settingDataHandler.selectedTimes["Pomodoro Setting"] = timeData;
      }
    
      pomodoroHandler.pomodoroTime = settingDataHandler.selectedTimes["Pomodoro Setting"];
      pomodoroHandler.time = pomodoroHandler.pomodoroTime …
Run Code Online (Sandbox Code Playgroud)

provider sharedpreferences flutter

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

flutter ×1

provider ×1

sharedpreferences ×1