Awe*_*165 4 sharedpreferences dart flutter
我已经研究这个问题近半天了。我正在尝试使用 Flutter 的 SharedPreferences 包将键/值存储在应用程序的存储中。当我通过 新建 SharedPreferences 时await SharedPreferences.getInstance(),它会正确构建并运行,但是当应用程序到达该代码行时,它会崩溃并出现以下错误:
MissingPluginException (MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences))
我找到了其他 Stackoverflow 帖子,但它们没有帮助解决这个问题:
通过所有这些,我尝试了以下方法:
flutter pub getio.flutter.plugins.sharedpreferences.SharedPreferencesPlugin.registerWith(registry.registrarFor("io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin"));SharedPreferencesIOS.registerWith();flutter clean && flutter pub getSharedPreferences.setMockInitialValues({});运行/执行上述步骤后,我重新启动了编辑器(VSC)。我什至安装了带有 Flutter 扩展的 Android Studio 并尝试了它,但它不起作用。我尝试从命令行运行,但它仍然返回相同的错误。我尝试重新启动计算机并卸载并重新安装 flutter 和 dart 来搞笑。我现在真的不知道该怎么办。我缺少哪些步骤?
小智 13
在使用共享首选项之前,将其添加到您的代码中。
SharedPreferences.setMockInitialValues({});
Run Code Online (Sandbox Code Playgroud)
这是因为如果你在什么都没有的地方使用getAll,它会发疯。我不认为这与iOS有什么关系。即使你使用普通的getString,内部程序使用getAll,所以它仍然会崩溃。
解决这个问题的方法是将其放入 try 和 catch 语句中。在try中,调用sharedPreferences.get并捕获错误,然后执行setMockInitialValues。如果sharedPreferences.get没有给出错误,则意味着已经存在我不确定的datai。你能试一下吗。
| 归档时间: |
|
| 查看次数: |
5446 次 |
| 最近记录: |