Android Wear中的持久设置

时间:2017-11-25 19:31:24

标签: android sharedpreferences persistence wear-os

我开始开发我的第一款Android Wear表盘,并且在理解设置概念时遇到了一些问题。

我的表盘用户应该能够在手表上设置一些偏好 - 例如不同的颜色。

但是如何在手表上保留这些设置? Google的所有示例都使用Wearable.NodeApi.getLocalNode。但据我所知,这是为了通过互联网同步不同(?)手表之间的设置。至少根据https://developer.android.com/training/wearables/data-layer/index.html

指南

但是这种机制是否也会使设置持久,或者我是否必须自己实现持久性(例如使用SharedPreferences)。

我对此主题的看法是,如果我更改这些设置,例如通过我手机上的用户界面,他们通过DataItems同步到我的所有手表 - 但是在每个手表上我都必须存储这些设置。这是对的吗?

1 个答案:

答案 0 :(得分:1)

一般情况下,DataApi 在会话之间本地保留数据项 - 但与使用{{1}相比,它不太可靠,并且很多不太方便}}。正如您所指出的,它主要用于在设备之间同步数据;存储数据是事后的想法。根据我的经验,数据存储和同步是不同的,您需要使用适用于每个的API单独实现它们。

然而,重新发明轮子毫无意义。如果您的表盘在两台设备上都有配置,需要同步到其他设备并在本地存储,我建议您查看PrefSyncService。它是我为这种用例设计的开源Android类。

要将配置更改从手机应用到正在运行的表盘,请使用SharedPreferences。在OnSharedPreferenceChangeListener中,使用以下代码:

Engine