我想使用 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)