Native 与 Flutter 中的共享首选项

时间:2021-07-05 06:09:24

标签: android flutter sharedpreferences

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

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

现在,我想从我的 flutter / dart 代码中读取这个共享首选项文件。但是 API 没有办法让我指定共享首选项文件名 (foo)。我只能这样做

SharedPreference.getInstance().getString(..

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

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

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

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