我就是这样使用DataAPI的
PutDataMapRequest dataMapReq = PutDataMapRequest.create(PATH);
dataMapReq.getDataMap().putFloatArray(KEY, list);
PutDataRequest putDataReq = dataMapReq.asPutDataRequest();
Wearable.DataApi.putDataItem(mGoogleApiClient, putDataReq);
list
可以是array[]
或ArrayList<>
。如果我添加一个新元素,那么我将不得不再次在数据映射中put
列表。这将导致每一个先前插入的元素的重传?
是的,如果你改变了数组/列表中的一个元素,你需要放置另一个数据项,它将取代旧的数据项。这将导致重新传输到其他设备。
一般来说,我不会担心这种重传。由于在DataItem中可以发送多少数据是有限制的,所以您可能不会发送太多数据。如果您仍然担心这个问题,可以考虑对数据进行分区并发送多个数据项(例如发送四个浮点子数组并在另一边合并它们)。不要给每个float发送一个单独的数据项(巨大的开销)。