新接触Java,有好多概念还不是很清楚。在native代码中如果我们要构造一个Java类对象并调用它的void jnitest()方法,通过JNIEnvjclass clazz = FindClass(...);
jmethodID constr = GetMethodID(...); // "<init>"
jobject obj = NewObject(...)来生成一个Java类的对象。然后尝试调用jnitest方法:jmthod jnitest = GetMethodID(...);
CallVoidMethod(clazz,jnitest);这有第一个问题,CallVoidMethod接受两个参数第一个是Class,第二个是MethodID,那么它是如何知道应该以obj为对象调用jnitest方法呢( 达到 obj.test() 的效果 )? 还是说jclass或者jmethodID中的哪个已经包含了创建的对象的引用?如果需要生产不同的类对象实例分别调用 jnitest该怎么做?谢谢!
jmethodID constr = GetMethodID(...); // "<init>"
jobject obj = NewObject(...)来生成一个Java类的对象。然后尝试调用jnitest方法:jmthod jnitest = GetMethodID(...);
CallVoidMethod(clazz,jnitest);这有第一个问题,CallVoidMethod接受两个参数第一个是Class,第二个是MethodID,那么它是如何知道应该以obj为对象调用jnitest方法呢( 达到 obj.test() 的效果 )? 还是说jclass或者jmethodID中的哪个已经包含了创建的对象的引用?如果需要生产不同的类对象实例分别调用 jnitest该怎么做?谢谢!
解决方案 »
- 关于Gson使用的问题
- MediaPlayer可以播放含有中文的URL吗
- android cm9如何启用gpu加速?
- hw_get_module
- 求助!!关于地图上显示信息窗口的问题
- android2.1 支持USB手柄的问题.
- eclipse打不开
- 为什么手机中照片修改或删除后,还能在手机数据相册中看到原来的内容?
- 用什么方法可以实现在同一个界面下左滑出来左边的侧滑菜单,右滑出来右边的侧滑菜单,并且菜单都是覆盖在内容页之上的????
- 怎样自定义SearchView的中提交按钮的样式
- Anrdroid通过Asp.net的WebService操作SQL200数据库,中文乱码
- 小问题:发送短信的小程序,急求回答!谢谢啦
callStaticXyzMethod()参数是jclass。