如何使用<ParcelableCustomObject> MessageAPI 从 Android Wear 发送 ArrayList?



我有一个可打包的自定义项目的ArrayList:

ArrayList<AudioLog> audioLogs = getAudioLogs();

我想使用MessageAPI将这个从手表发送到手机:

Wearable.MessageApi.sendMessage(googleClient, node.getId(), path, audioLogs).await();

但是,我需要将整个ArrayList及其内容转换为字节[],因为sendMessage方法需要- (GoogleClient客户端,int id,字符串路径,byte[]消息)。

要转换每个可打包的AudioLog对象,我有一个自定义Util类,它将每个AudioLog对象编组和解组为一个byte[]。我只需要一个类似的类,可以把整个数组列表和它的内容一次转换成一个字节[],如果可能的话,谢谢。

您应该创建一个DataMap对象,该对象可以转换为字节数组。

DataMap audioLogMap = new DataMap();
ArrayList<DataMap> audioLogArrayList = new ArrayList<>();
for (AudioLog audioLog: audioLogs) {
    DataMap audioLogMap = new DataMap();
    //TODO: copy something from audioLog to audioLogMap
    audioLogArrayList.add(audioLogMap);
}
audioLogMap.putDataMapArrayList("key", audioLogArrayList);
byte[] audioLogByteArray = audioLogMap.toByteArray();

相关内容

  • 没有找到相关文章

最新更新