我正在我的 android 应用程序中导入一个基于 c++ 的项目(或库)。我为此使用了 NDK。我成功地将 c++ 嵌入到 java 中。现在我需要在 c++ 和 java 之间传递值。任何人都可以建议如何从 c++ 处理的项目访问信息(文本、图像或视频)到我的 android 项目。期待简单的教程..
问问题
628 次
1 回答
0
您可以使用 JNI 访问从 android 到 c++ 的文本(字符串)、数组、整数数据。
例如。安卓功能:
public native setString(String arg);
上面的字符串 arg 可以在 c/c++ 代码中使用 JNI 访问,如下所示:
C函数:
char *str = (*env)->GetStringUTFChars(env, arg, 0);
C++ 函数不将 env 作为参数传递。
类似地,可以使用 JNI 的jobject类在 c/c++ 中访问来自 Android 的其他元素。
但是,要从 c/c++ 访问 android 变量,您需要将控制从 c/c++ 函数返回给 android,或者您可以从 c/c++ 函数调用 android 函数,您可以在其中设置 android 函数的值。这个例子你可以在下面的链接中找到:
使用图片数据的好例子可以从android-ndk示例程序(示例程序中的plasma app)中获得。
于 2013-08-13T09:46:27.620 回答