Я новичок в программировании JNI. Я хочу выполнить функцию sensorEvent parse в JNI, чтобы получить sensorEvent.values в формате float .
Но я не знаю, как извлечь sensorjectventEvent , чтобы получить sensorEvent.values на JNI?
// JAVA
public class MySensor {
// load native dll
static {
System.loadLibrary("example");
}
// this native function will be call by onSensorChanged()
private native void parse(SensorEvent sensorEvent);
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
if (sensorEvent != null) {
// content of sensorEvent.values is
// sensorEvent.values[0] = 1.0f
// sensorEvent.values[1] = 1.1f
// sensorEvent.values[1] = 1.2f
parse(sensorEvent); // do this job in JNI
}
}
}
// JNI
JNIEXPORT void JNICALL
Java_com_company_MySensor_parse(JNIEnv *env, jobject instance, jobject sensorEvent) {
// how to extract sensorEvent to get sensorEvent.values and show values?
//???
printf("SensorEvent.values[0]= %f", sensorEvent.values[0]); // 1.0f
printf("SensorEvent.values[1]= %f", sensorEvent.values[1]); // 1.1f
printf("SensorEvent.values[2]= %f", sensorEvent.values[2]); // 1.2f
}