Access Java class variables from NDK (non-static function) in C:
- env and obj are the first two parameters of the NDK function
- "Ljava/lang/String;" is called the field descriptor of type String
Field Descriptor of other Variable Types:
- Remember the semi-colon
- Replace "Get" by "Set" for Set Field Functions
Field Descriptor | Type | Get Field Function |
---|---|---|
Z | boolean | GetBooleanField |
B | byte | GetByteField |
C | char | GetCharField |
S | short | GetShortField |
I | int | GetIntField |
J | long | GetLongField |
F | float | GetFloatField |
D | double | GetDoubleField |
Ljava/lang/String; | String | GetObjectField |
[I | int[] | GetObjectField, and then cast it to an array jintArray *arr = reinterpret_cast<jintArray*>(&data); |
[Ljava/lang/Object; | object[] | GetObjectField, and then cast it to an array |
No comments:
Post a Comment