nazareno example error ejemplos descargar java c jni char-pointer

java - example - JNI. Cómo obtener jstring de jobject y convertirlo a char*



jni nazareno (1)

Esto es lo que tengo hasta ahora: paso un objeto que tiene 2 campos: String e Integer, como un parámetro y quiero enviar información para procesarlo en la parte C, lo cual no es importante en este punto ... Tengo quejas en la declaración jstring

JNIEXPORT jint JNICALL Java_Tier3_NativeMethods_totalPalletsIn( JNIEnv *env, jclass cls, jobject stat) { jclass staticsitcs = (*env)->GetObjectClass(env, stat); // Here I try to get it using the ID jfieldID idDate = (*env)->GetFieldID(env, staticsitcs, "date", "S"); jstring dateString = (jstring)(*env)->GetStringRegion(env, stat, idDate); // Here converting whatever I get in jstring to char* char* date = (*env)->GetStringUTFChars(env,dateString,0); // Getting the 2nd field from the object jfieldID idNumber = (*env)->GetFieldID(env, staticsitcs, "amount", "I"); jint amount = (*env)->GetDoubleField(env, stat, idNumber); // Calling C method jint totalPallets = checkTotalPalletsIn(date, amount); (*env)->ReleaseStringUTFChars(env, dateString, date); return totalPallets; }

¿Qué me estoy perdiendo?


jstring dateString = (jstring)(*env)->GetObjectField(env, stat, idDate);

... y después de eso todo está bien.