如何在android中访问从c++到java的值

How to access values from c++ to java in android

本文关键字:c++ java 的值 访问 android      更新时间:2023-10-16

我正在android应用程序中导入一个基于c++的项目(或库)。我使用NDK就是为了这个目的。我成功地在java中嵌入了c++。现在,我需要在c++和java之间传递值。有人能建议如何从c++处理的项目访问信息(文本、图像或视频)到我的android项目吗。需要简单的教程。。

您可以使用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函数的值。这个例子你可以在下面的链接中找到:

通过JNI从本地代码访问java变量,给出垃圾值

使用图片数据的好例子可以从android ndk示例程序(示例程序中的等离子体应用程序)中获得。