我尝试在flutter中使用共享的首选项,但出现此错误,我尝试清除flutter并仍然遇到相同的错误
错误
ERROR:flutter / lib / ui / ui_dart_state.cc(166)]未处理的异常:MissingPluginException(在通道plugins.flutter.io/shared_preferences上未找到方法getAll的实现)
答案 0 :(得分:2)
您是否已在SharedPreferences
中添加了pubspec.yaml
依赖关系。如果没有,请按以下步骤操作:
dependencies:
flutter:
sdk: flutter
shared_preferences: ^0.5.8
从错误消息中,我认为SharedPreferences
没有getAll方法。这是一些如何从SharedPreferences
读取数据的示例:
getStringValuesSF() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
//Return String
String stringValue = prefs.getString('stringValue');
return stringValue;
}
getBoolValuesSF() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
//Return bool
bool boolValue = prefs.getBool('boolValue');
return boolValue;
}
getIntValuesSF() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
//Return int
int intValue = prefs.getInt('intValue');
return intValue;
}
getDoubleValuesSF() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
//Return double
double doubleValue = prefs.getDouble('doubleValue');
return doubleValue;
}
答案 1 :(得分:0)
添加新软件包后。你必须跑步
flutter pub get
然后重建您的应用。
答案 2 :(得分:0)
对于我的情况,在 sharedPreference.getInstance 为我工作之前添加 setMockInitialValues({})
SharedPreferences.setMockInitialValues({});
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
await sharedPreferences.setString(key, value);