【问题标题】:Shared preferences in Native vs FlutterNative 与 Flutter 中的共享偏好
【发布时间】:2021-07-05 06:09:24
【问题描述】:

我的 Flutter 应用有一个原生组件。这个原生组件正在使用platform.invokeMethod。在这个原生组件中,我使用代码将一些东西保存到共享首选项

sharedPreferences = getSharedPreferences("foo", Context.MODE_PRIVATE)
sharedPrerences.putString(...

现在,我想从我的颤振/飞镖代码中读取这个共享首选项文件。但是 API 无法让我指定共享首选项文件名 (foo)。我只能这样做

SharedPreference.getInstance().getString(..

我该如何解决这个问题?

【问题讨论】:

  • “API 没有办法让我指定共享首选项文件名 (foo)”是什么意思你到底想用 SharedPreference 做什么

标签: android flutter sharedpreferences


【解决方案1】:

我假设您在 Flutter 端使用 Shared Preferences-plugin。这只会访问插件中名称为hard-coded 的单个文件。

您可以将首选项从invokeMethod返回给Flutter,然后使用插件保存它们,而不是将它们保存在原生android端。

而且 - 虽然不是最优雅的解决方案 - 您可以将 android 端的首选项写入插件正在使用的同一文件中:"FlutterSharedPreferences"。这可能还涉及在写入后在颤振端调用reload 以使插件刷新其本地值。

【讨论】:

  • 哇,谢谢。为什么插件会硬编码名称
  • 在本机代码中尝试使用 FlutterSharedPreferences。我在颤振代码中做了一个reload。但更新并没有反映在颤振方面。
猜你喜欢
  • 2019-03-20
  • 2021-10-11
  • 2019-03-18
  • 1970-01-01
  • 2023-01-25
  • 1970-01-01
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多