【问题标题】:Save watchface settings on both mobile and wearable在移动设备和可穿戴设备上保存表盘设置
【发布时间】:2020-04-22 23:31:21
【问题描述】:

我想提供一个 Android 应用程序附带的 Wear OS 表盘,它控制着表盘的多个属性。我在 Android Studio 中设置了所有内容,并且完成了移动端和表盘渲染器。现在我面临手机和手表之间交换数据的问题,因为我想将手机上设置的属性发送到手表。我读到了一些关于DataItem 的内容,我猜想它会帮助我进行数据交换。

现在,一旦交换了数据并相应地设置了表盘,我希望应用程序和表盘在重新启动时“记住”这些设置。有没有办法持久化DataItems,还是有其他选择(除了在两个设备上分别保存)?

【问题讨论】:

    标签: java android wear-os persistent-storage android-wear-data-api


    【解决方案1】:

    DataItems 确实存在,但它们并不完全可靠,您仍然需要一个 UI 来进行配置 - 最好在两台设备上都使用。我选择共享单个 XML 文件,该文件在两个设备上都呈现为 PreferenceScreen,并且我构建了一个我称之为 PrefSyncService 的东西,以自动使两个设备之间的 SharedPreferences 保持同步。

    【讨论】:

    • 我猜DataItems持久化的信息解决了这个问题。两个设备上的配置 UI 在我的应用程序上并没有真正起作用,因为它只是在一个小手表屏幕上点击太多配置:D
    • DataItem 持久性并不完全可靠,但您必须确定它是否适合您的应用程序。 PrefSyncService 单向运行良好:在手机上完成所有配置,它会将这些设置同步到手表,然后您可以通过 SharedPreferences 访问它们。
    • 这听起来更好——我还发现 DataItems 的实现与我的预期有很大不同——所以一旦有时间,我将研究 PrefSyncService。
    • 一切正常。在我了解了如何使用您的 PrefSyncService 之后,它是一个非常简单和快速的实现,所以非常感谢 :) (可能仍然建议更新您的文档,因为某些事情应该在哪一侧实现并不完全明显,例如作为 PrefListener)
    • 很高兴听到这个消息!我也很乐意为您发送有关文档更新的具体建议,因为我不清楚,嗯,您不清楚什么。 ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多