Android 磨损:DataItem API 与通道 API

Android Wear: DataItem API vs Channel API

我需要在 Android Wear 设备上收集传感器数据,并希望将其传输到 Android smartphone。也就是说,我有一组常规值,我想在一段较长的时间内将其发送到 phone。数据速率不高,比如每秒 100 个样本,每个测量样本有 20 个字节。这似乎可以作为一系列数据项(对于 DataItem API)或作为一系列小 blob(对于 ChannelAPI)来实现。 DataItem 和 Channel APIs 看起来都可以工作。有选择其中之一的理由吗? 其他问题: 1) 我已经阅读了 Android docs 并且看起来 DataItem 协议允许在不可靠的无线传输情况下进行缓存和重传。 ChannelAPI 也一样吗? 2) 我可能会将每个样本测量值作为一个单独的项目(或 blob)推送,并期望这些值会随着时间的推移而累积。有意义的是,一旦 phone 接收到数据(并将其复制到本地存储),它就应该删除数据项(或 blob)。这会影响 Wear 设备上的数据吗? 谢谢!

好的,我正在回答我自己的问题。在使用 DataLayer API 几个月后,我可以说它工作得非常好并且非常强大。我有三个 Wear 设备,每个设备都将 100Hz 传感器数据推送到一个通用的 Android phone 应用程序,它可以完美地工作,没有数据瓶颈。即使我在室外并且远离 WiFi AP,它也能正常工作。关于问题:1)是的,缓存有效,我还没有遇到丢失数据包的问题。不过我不知道频道 API。 2)我还没有发现这是一个问题。将数据写入可穿戴设备上的一个对象,发出一个 putrequest,它会出现在 Phone 端并调用 onDataChanged()。它在后台的处理方式非常透明。