目前,我正在尝试开发Android移动/穿戴应用程序,并且遇到了一个问题,我需要将Hashmap中包含的数据从移动设备发送到穿戴设备。我查看了Android开发人员指南,似乎必须使用DataMap,但是对于如何将HashMap数据存储在DataMap中以及如何在穿戴设备上正确检索信息,我仍然迷失了。

如果有人可以创建此过程的示例,或为我提供有关如何执行此操作的示例,将不胜感激。

最佳答案

这取决于您在HashMap中具有哪种类型,但是假设您具有HashMap<String, String>,则只需要遍历所有值并将其复制到DataMap中即可。

public static DataMap toDataMap(HashMap<String, String> hashMap) {
    DataMap dataMap = new DataMap();
    for (Map.Entry<String, String> entry : hashMap.entrySet()) {
        dataMap.putString(entry.getKey(), entry.getValue());
    }
    return dataMap;
}


然后再从HashMap创建DataMap

public static HashMap<String, String> fromDataMap(DataMap dataMap) {
    HashMap<String, String> hashMap = new HashMap<String, String>();
    for (String key : dataMap.keySet()) {
        hashMap.put(key, dataMap.getString(key));
    }
    return hashMap;
}


当然,请记住不要在生成的DataMap中存储任何其他内容,因为您可能会覆盖现有键之一。因此,如果要发送其他任何内容,则应通过在另一个DataMap上使用putDataMap (String key, DataMap value)方法将该DataMap嵌套在另一个内部。

08-18 11:25