Android Jfloat到Float
以下是我在Java中的函数定义:Android Jfloat到Float,android,android-ndk,Android,Android Ndk,以下是我在Java中的函数定义: public static native void ToucheBegan( float x, float y, int tapcount ); 这是我在CPP中的定义 JNIEXPORT void JNICALL Java_com_android_templateApp_GL2View_ToucheBegan( JNIEnv *env, jfloat x, jfloat y, jint tap_count ); 当我登录时: 我从Java发送: 125.2
public static native void ToucheBegan( float x, float y, int tapcount );
这是我在CPP中的定义
JNIEXPORT void JNICALL Java_com_android_templateApp_GL2View_ToucheBegan( JNIEnv *env, jfloat x, jfloat y, jint tap_count );
当我登录时:
我从Java发送:
125.278595 496.842102 1
和C++中,我得到:
3.274879 125.278595 1140353994
jfloat到float或jint到int之间是否需要进行某种转换
蒂亚 不需要任何特殊转换
检查C++日志是否按预期运行。一种方法是将已知值赋给C++函数中的x、y和TabCube,并确保它们按照预期的方式被记录。
< P>您忘记了隐式JojEd/JCASE参数,每个JNI函数都有:void JNICALL Java_com_android_templateApp_GL2View_ToucheBegan( JNIEnv *env, jobject thiz, jfloat x, jfloat y, jint tap_count );
所以你把“thiz”解释为“x”,“x”解释为“y”,“y”解释为“tap_count”