Bonjour,

Je cherche a récupérer un paramètre d'une méthode java pour pouvoir l'utiliser ensuite dans d'autre fonction C++.

j'arrive déjà a exécuter des méthodes java depuis le c++ grâce à JNI avec la création d'une JVM que j'ai mis dans une fonction . Or je ne sais comment récupérer ses paramètres.

Il semblerait qu'il faille utiliser :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
extern "C" JNIEXPORT void JNICALL Java_UseObjects_changeObject( JNIEnv* env, jobject, jobject obj)
{
    jclass clas = env->GetObjectClass(obj);
 
    jfieldID fid = env->GetFieldID(clas, "variable java", "I");
 
    jmethodID mid = env->GetMethodID(clas, "methode java", "()V");
    int value = env->GetIntField(obj, fid);
}
mais je pige pas tres bien son utilisation:
est ce qu'il faut l'ajouter en plus de la fonction de la creation de la JVM? Dans ce cas l'appeler apres?
Et à quoi correspond la variable jobject obj ?

l'ideal est que je puisse recuperer un tableau et la j'ai lu sur un post
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
jstring jstr = (jstring)env->GetObjectArrayElement(string, i);
Les utilisateurs de JNI se sont surement déjà posés la question et je suis un peu embrouillé

Si qqun a une idée

[EDIT]
il semblerait que la méthode suscité permet d'appeler des méthodes et variables C++ vers java.

Or je veux l'inverse

Snif personne a un petit indice

merci