🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
访问一个对象属性,在原生方法中需要两步。首先,调用GetFieldID获取属性ID,你需要使用类引用,属性名和属性描述符作为调用参数。 `fid = (*env)->GetFieldID(env, cls, "s", "Ljava/lang/String;");` 示例中通过GetObjectClass方法获取对象所述的类引用,并将其作为第二个参数传递给GetFieldID. 一旦你获取到了属性ID,你就使用对象实例和这个属性ID通过调用GetObjectFiled来获取响应的属性值: `jstr = (*env)->GetObjectField(env, obj, fid);` 由于字符串和数组都是特殊类型的对象,我们需要使用GetObjectField方法来访问这些类型的属性。除了Get/SetObjectField,JNI也支持像GetIntField以及SetFloatField之类的访问基础类型的函数。