我在我的颤振应用程序中使用了shared_preferences插件。从一开始(可能在颤振升级之后),它就开始抛出一个异常:
E/flutter (27778): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (27778): type '_InternalLinkedHashMap' is not a subtype of type 'Map<String, Object>' where
E/flutter (27778): _InternalLinkedHashMap is from dart:collection
E/flutter (27778): Map is from dart:core
E/flutter (27778): String is from dart:core
E/flutter (27778): Object is from dart:core
E/flutter (27778):
E/flutter (27778): #0 SharedPreferences.getInstance (package:shared_preferences/shared_preferences.dart)
E/flutter (27778): <asynchronous suspension>
E/flutter (27778): #1 loadFirstUse (**path**/lib/main.dart:29:53)
E/flutter (27778): <asynchronous suspension>
E/flutter (27778): #2 main (**path**/lib/main.dart:17:9)
E/flutter (27778): <asynchronous suspension>
E/flutter (27778): #3 _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:279:19)
E/flutter (27778): #4 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:165:12)当我简单地尝试创建SharedPreferences的实例时,就会发生这种情况:
SharedPreferences prefs = await SharedPreferences.getInstance();我试图找出问题的根源,但却找不到。谢谢你的帮助。
编辑:我正在使用shared_preferences: "^0.4.0"
发布于 2018-03-30 01:33:45
我尝试过shared_preferences: "0.2.4"和上面提到的其他版本,但都没有成功。最后,在将颤振通道从dev更改为beta之后,它终于开始工作了:
flutter channel beta至少,这暂时解决了这个问题,只需等待对dev通道上的shared_preferences插件进行修复。
发布于 2018-07-28 14:23:32
我使用以下解决方法解决了这个问题:
Future<SharedPreferences> prefs = SharedPreferences.getInstance();
prefs.then(
(pref)
{
//call functions like pref.getInt(), etc. here
}
);发布于 2020-06-21 02:56:54
要调试这一点,请使用以下内容:
Future<SharedPreferences> _sprefs = SharedPreferences.getInstance();
_sprefs.then((prefs) {
// ...
},
onError: (error) {
print("SharedPreferences ERROR = $error");
});在我的例子中,错误是我想在调用await SharedPreferences.getInstance()之前调用runApp(),因此错误消息给我的解决方案是按如下顺序排列我的代码:
第一:
WidgetsFlutterBinding.ensureInitialized();之后:
SharedPreferences prefs = await SharedPreferences.getInstance();最后:
runApp(...);https://stackoverflow.com/questions/49407237
复制相似问题