2017-02-15 10 views
0

気象データをAndroid携帯からDataMap経由でAndroid Wearウェアラブルに転送する処理中です。DataMapを文字列または文字列配列に変換する

私はデバイス上でDataMapを取得できましたが、長い文字列(配列に分割されたもの)または文字列配列に変換する方法を見つける必要があります。

アイデア?

電話機の現在のコード:

DataMap dataMap = new DataMap(); 
dataMap.putLong("1-#TIME-STAMP:", System.nanoTime()); 
dataMap.putLong("2-#CONTENT:", 0); 
dataMap.putString("time:", currentWeather[0]); 
dataMap.putString("summary:", currentWeather[1]); 
dataMap.putString("icon:", currentWeather[2]); 
dataMap.putString("nearestStormDistance:", currentWeather[3]); 
dataMap.putString("nearestStormBEaring:", currentWeather[4]); 
dataMap.putString("precipIntensity:", currentWeather[5]); 
dataMap.putString("precipPRobability:", currentWeather[6]); 
dataMap.putString("temperature:", currentWeather[7]); 
dataMap.putString("apparentTemperature:", currentWeather[8]); 
dataMap.putString("dewPoint:", currentWeather[9]); 
dataMap.putString("humidity:", currentWeather[10]); 
dataMap.putString("windSpeed:", currentWeather[11]); 
dataMap.putString("windBearing:", currentWeather[12]); 
dataMap.putString("visibility:", currentWeather[13]); 
dataMap.putString("cloudCover:", currentWeather[14]); 
dataMap.putString("pressure:", currentWeather[15]); 
dataMap.putString("ozone:", currentWeather[16]); 
new SendToDataLayerThread("/data_from_phone", dataMap).start(); 

現在のコードウェアラブル上:

@Override 
public void onDataChanged(DataEventBuffer dataEvents) 
{ 
    DataMap dataMap; 
    for (DataEvent event : dataEvents) 
    { 
     Log.v("myTag", "DataMap item: " + DataMapItem.fromDataItem(event.getDataItem()).getDataMap()); 
    } 
} 

答えて

1

文字列配列のすべての値が必要だと思います。あなたは、デバイス上のデータマップオブジェクトを持っていたら、次のようにそれを行うことができます:DataMap.putStringArray (String key, String[] value)を使用しての問題は

ArrayList<String> listOfDataItems = new ArrayList<String>(); 
for(String key: dataMap.keySet()) 
{ 
    Object value = get(key); 
    if(value instanceof Long) 
    { 
     listOfDataItems.add(String.valueOf(value)); 
    } 
    else if(value instanceof String) 
    { 
     listOfDataItems.add(value); 
    } 
} 
String [] arrayOfDataItems = listOfDataItems.toArray(new String[listOfDataItems.size()]); 
1

あなたはGsonを使用してみましたか? Gson.toJsonString(dataMap)を直接書くことができます。

関連する問題