【发布时间】:2014-01-30 16:04:57
【问题描述】:
所以,我想从 c++ 中获取 resultNative 但 resultNative 是在 Java 中的。 谁能告诉我如何通过 JNI 做到这一点?我对c ++不是很熟悉,并且已经搜索了很长时间但没有找到任何答案。太感谢了。 nativeResult 在 Java 中。
public String[] searchDatabase()
{
String result[]=new String[6];
String nativeResult[]=new String[2];
tName=this.getTargetName();
result=da.SearchKorea(tName,ctx);
tType=result[2];
tTrans=result[3];
tImage=result[4];
tFave=result[5];
nativeResult[1]= tImage+" - "+tName;
nativeResult[2]= tTrans+" ["+tType+"]";
return nativeResult;
}
【问题讨论】:
-
您必须从 C++ 调用。创建一个 JVM 实例,找到 searchDatabase 并调用它。这是 C++ 调用 java 函数的唯一方法。否则,您需要从 java 调用 C++ 函数并将 searchDatabase 的结果传递给它。
-
从您的文本中不清楚您希望从 Java 接收
Strings 的数组以用于 C 代码;你想编辑你的问题吗?实际上,有两种不同的场景:从 Java 中向 C 函数提供String[]参数,或者使用searchDatabase()方法作为 C 代码中的 回调。
标签: java android c++ arrays java-native-interface