1

我正在做一些特殊的项目。

我想通过 JNI 在 C++ 上获取 Android 联系人数据

这是我的 JAVA 端代码。(获取 Android 联系人数据库)

//For Map, HashMap, List 
Map map;
List list = new ArrayList();
.
.
//add values into Hashmap
map = new HashMap();
map.put("name", name);
map.put("email", email);
.
.
// Gather Contact data and add a list
list.add(map);
.
// return List+Hashmap data
return list;

您能否建议或举例说明如何在 C++ 端获取或获取 List+Hashmap 类型的数据?

我认为 JNI “GetObjectArrayElement” 函数将解决这个问题。但 GetObjectArrayElement 只是获取一维数组。

4

1 回答 1

0

您将传递一个对象到 JNI,“list”,属于“ArrayList”类。然后,您将使用 ArrayList 的方法,例如“get”,它将返回“HashMap”类的对象。这里没有数组操作(除非你在 Java 或 JNI 中使用“toArray”)

于 2013-11-05T15:34:55.490 回答