Android NDK:将数据从Java传递到C++/C
我已经尝试过NDK的简单示例,例如将数据从本机代码显示到android的java代码,如下所示:Android NDK:将数据从Java传递到C++/C,android,android-ndk,java-native-interface,native,Android,Android Ndk,Java Native Interface,Native,我已经尝试过NDK的简单示例,例如将数据从本机代码显示到android的java代码,如下所示: #include <jni.h> extern "C" { JNIEXPORT jstring JNICALL Java_com_example_JNIActivity_stringFromJNI( JNIEnv* env, jobject thiz ) { return env-&
#include <jni.h>
extern "C" {
JNIEXPORT jstring JNICALL
Java_com_example_JNIActivity_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return env->NewStringUTF("I'm C++! What the hell am I doing here in android?!");
}
}
然而,我想要一个应用程序,其中用户必须从文本字段输入数据,并将这些数据从java代码传递到本地代码,在本地代码中进行计算。如何执行此操作?在Java本机方法中,包含一个接受textfield值的正式字符串参数 在C/C++中,使用如下JNI方法访问jstring中的字符:
jsize GetStringLength(JNIEnv *env, jstring string);
const jchar * GetStringChars(JNIEnv *env, jstring string, jboolean *isCopy);
const char * GetStringUTFChars(JNIEnv *env, jstring string, jboolean *isCopy);
当你处理完这些角色后,一定要释放它们
void ReleaseStringChars(JNIEnv *env, jstring string, const jchar *chars);
void ReleaseStringUTFChars(JNIEnv *env, jstring string, const char *utf);
请参阅中的