2016-09-29 30 views
0

我parcelable自定義項目的ArrayList:如何使用MessageAPI從Android Wear發送ArrayList <ParcelableCustomObject>?

ArrayList<AudioLog> audioLogs = getAudioLogs(); 

我想用MessageAPI從表寄這封信給了電話:

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

,但我需要將整個ArrayList的轉換和其內容爲一個字節[],如sendMessage方法所需 - (GoogleClient客戶端,int id,字符串路徑,byte []消息)。

要轉換我的每個可調節的AudioLog對象,我有一個自定義的Util類,它們將每個對象編組並解組爲每個字節[]。我只需要一個類似的類,它可以一次性將整個ArrayList及其內容轉換爲一個byte [],如果可能的話,謝謝。

回答

1

您應該創建一個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(); 
相關問題