我有一个可打包的自定义项目的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();