jfieldID JNIEnv::GetFieldID(jclass Classe, char *NomPropriete, 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;
jfieldID IdentifiantPropriete;
jboolean Valeur;
...
IdentifiantPropriete=pEnv->GetFieldId(pMaClasse, "MaProprieteBoolean", "Z");
if (!IdentifiantPropriete)
{
...
}
...
Valeur=pEnv->GetBooleanField(pMonObjet, IdentifiantPropriete);
...