Android Jfloat到Float

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

以下是我在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.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”