jmethodID JNIEnv::GetMethodID(jclass Classe, char *NomMethode, char *Signature);
La signature est composée du chemin d'accès à la classe, chaque niveau étant un paquet, le séparateur de répertoire étant le caractère division /. Pour les types natifs, la signature est la suivante :
Type natif | Signature |
boolean | Z |
byte | B |
char | C |
double | D |
float | F |
long | J |
int/TD> | I |
short | S |
void | V |
byte [] | [B |
Méthode int P(boolean A, String B) | (ZLjava/lang/String;)I |
#include <jni.h>
JNIEnv *pEnv;
jclass pMaClasse;
jobject pMonObjet;
jmethodID IdentifiantMethode;
jboolean Resultat;
jint Parametre;
...
IdentifiantMethode=pEnv->GetMethodId(pMaClasse, "MaMethodeBoolean", "(I)Z");
if (!IdentifiantMethode)
{
...
}
...
Resultat=pEnv->CallBooleanMethod(pMonObjet, IdentifiantMethode, Parametre);
...