【问题标题】:Is it possible to create a local file to store data?是否可以创建本地文件来存储数据?
【发布时间】:2015-09-09 21:58:02
【问题描述】:

我目前正在使用 dataAPI 来保持手持设备和可穿戴设备之间的数据项同步。 我仍然想确保 每个 数据都已存储,并且在此过程中没有数据丢失。 当穿戴设备未连接到手持设备时,我目前正在读取 GPS 参数,并且当它们连接时,它们会同步数据项。

  1. DataAPI 的可靠性如何?
  2. 我创建本地文件的想法是否会加倍努力?
  3. 如何在 Wear 设备上创建本地文件然后访问它?

【问题讨论】:

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


    【解决方案1】:

    使用 DataApi 同步数据是可靠的,我建议使用它;如果您遇到同步无法可靠发生的情况,则应将其视为错误并需要报告。人们遇到的一个问题是他们创建了相同的数据项并且他们没有获得 onDataChanged() 回调,但这是设计使然,如果多次添加相同的数据,则没有更改,因此没有回调触发器。

    您可能要考虑的另一个因素是您在一个节点上创建的数据是供 所有 其他节点使用还是只供目标节点使用; DataApi 会在所有连接的节点之间同步数据,因此如果我在 watch1 上创建一个数据项并希望将其与我的手机同步,并且如果图片中也有 watch2,那么 watch2 也会获得相同的数据。

    如果您最终使用 DataApi,我强烈建议您制定一项政策,在数据同步和使用后删除数据,否则数据将在没有监督的情况下累积,最终您将耗尽空间.

    【讨论】:

    • 顺便说一句:对于您在第一段中描述的问题,最简单的解决方法是在您要发送的数据中包含时间戳。
    • 我将使用dataApi,问题是我是否想“以防万一”保存本地文件。你能告诉我如何删除消耗的数据吗? Atm 我只是在添加数据,因为我不知道有空间限制
    • 您可以使用DataApi#deleteDataItems() 删除数据。
    • @L.Butz:我不认为这是个问题。这种行为是设计使然。可以添加时间戳是正确的,我会更进一步说,如果有人真的喜欢重复的数据项,它们看起来相同,只是在创建时间上有所不同,被视为不同的数据项,那么创建时间实际上是数据本身的一部分,应该添加到数据中,这将使它们具有所需的行为。因此,添加时间戳不应被视为“解决方法”,而是在某些情况下是必要的,因为它是数据本身的一部分。
    【解决方案2】:

    回答您的问题:

    1. 我不知道它的可靠性有多高,但我们遇到了数据更新没有触发手表端适当的监听器的问题。所以我不确定。也许有人对此有官方声明?
    2. 我认为这取决于您要存储的数据量。所以我建议你先弄清楚金额,然后选择格式。请记住,还可以将数据存储在 Shared Preferences 中。
    3. here 这些家伙试图在手表上保存图像,但无论是图像文件还是文本或任何文件,这都没有区别。

    【讨论】:

    • 我要存储大约 2Mb 的数据! Atm 我对监听器没有任何问题,如果打开移动端的应用程序,它总是会触发 onDataChanged()