android - Native 与 Flutter 中的共享偏好
问题描述
我的颤振应用程序有一个原生组件。这个原生组件正在使用platform.invokeMethod
. 在这个本机组件中,我使用代码将一些东西保存到共享首选项
sharedPreferences = getSharedPreferences("foo", Context.MODE_PRIVATE)
sharedPrerences.putString(...
现在,我想从我的颤振/飞镖代码中读取这个共享首选项文件。但 API 无法让我指定共享首选项文件名 ( foo
)。我只能这样做
SharedPreference.getInstance().getString(..
我该如何解决这个问题?
解决方案
我假设您在 Flutter 端使用Shared Preferences -plugin。这只访问一个名称在插件中硬编码的文件。
与其将首选项保存在原生 android 端,不如将它们从invokeMethod
Flutter 返回,然后使用插件保存它们。
而且 - 虽然不是最优雅的解决方案 - 您可以将 android 端的首选项写入插件正在使用的同一文件中: "FlutterSharedPreferences"
. 这可能还涉及在写入后在颤振端调用reload以使插件刷新其本地值。
推荐阅读
- javascript - $_GET['productid'] 给出 Undefined 即使我的 url 给出了 id
- python - 我即将放弃我的第一个 python 项目,它正在制作一个不和谐的机器人,这将是我的最后一个问题吗?
- c# - 如何将 OpenGraph 和 Twitter Cards 合并到 c# razor 中的 2sxc 详细信息模板中?
- node.js - How to get data between Graphql Microservices with Shared Database?
- vue.js - 如何从导入“存储”的 vue-router 路由内部提交 vuex 存储突变?
- v4l2loopback - 如何在设备(v4l2loopback)下提供多种分辨率?
- java - 检查文本频道是否为私人频道?JAVA JDA DV8TION
- sql - postgres - 从左到右选择“得分最高”的 column_name
- javascript - 如何在 JavaScript 中分配箭头和输入键盘键?
- node.js - Node.js 缺少 POST 请求的主体