首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复:没有在通道plugins.fltter.io/ getAll _preferences上找到方法的实现

如何修复:没有在通道plugins.fltter.io/ getAll _preferences上找到方法的实现
EN

Stack Overflow用户
提问于 2022-10-17 07:41:20
回答 1查看 53关注 0票数 0

我已经研究这个问题将近半天了。我正在尝试使用Flutter的SharedPreferences包在应用程序的存储中存储密钥/值。当我通过SharedPreferences新建一个await SharedPreferences.getInstance()时,它构建和运行正常,但是当应用程序到达该代码行时,它会崩溃,并出现以下错误:

MissingPluginException (MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences))

我找到了其他Stackoverflow帖子,但它们并没有帮助解决这个问题:

通过所有这些,我尝试了以下几点:

  • flutter pub get
  • io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin.registerWith(registry.registrarFor("io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin"));
  • Since I on iOS:SharedPreferencesIOS.registerWith();
  • https://pub.dev/packages/flutter_isolate
  • flutter clean && flutter pub get
  • SharedPreferences.setMockInitialValues({});

在运行/执行上述步骤之后,我重新启动了编辑器(VSC)。我甚至安装了带有颤振扩展的Android,并试用了它,结果失败了。我试着从命令行运行,但它仍然返回相同的错误。我试着重新启动我的电脑,卸载和重新安装颤振和飞镖,以供笑。现在我真的不知道该怎么办。我错过了什么步骤?

EN

Stack Overflow用户

回答已采纳

发布于 2022-10-17 07:55:41

在使用共享首选项之前,将其添加到代码中。

代码语言:javascript
运行
复制
SharedPreferences.setMockInitialValues({});

这是因为如果你在没有任何东西的地方使用getAll,它就会变得疯狂。我不认为这与iOS有任何关系。如果您甚至使用普通的getString,内部程序将使用getAll,因此它仍然会崩溃。

您可以做些什么来解决这个问题,那就是把它放在一个try和catch语句中。在“尝试”中,调用sharedPreferences.get并捕获错误,然后执行setMockInitialValues。如果sharedPreferences.get没有给出一个错误,这意味着已经有数据我不确定。你能试试吗。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74093954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档