【发布时间】:2014-06-28 22:56:06
【问题描述】:
我遇到了一个问题,我需要访问自定义 java 类才能将其绑定到自定义 C++ 类(我正在为 Android 移植一个框架)。
我做过这样的事情:
bool Myclass_Android::getBoolean() {
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
cocos2d::JniMethodInfo methodInfo;
if(cocos2d::JniHelper::getStaticMethodInfo(methodInfo, classInfo, "methodname", "()Z") == true){
CCLOG("method exists");
methodInfo.env->CallStaticBooleanMethod(methodInfo.classID, methodInfo.methodID);
}else{
CCLOG("method doesn't exist");
}
#endif
}
Pastebin:http://pastebin.com/y50nJzvR
从 Android 框架中检索布尔值。我可以像上面一样做一个完整的自定义 Java 类并访问它的成员吗?
只是为了清楚。我想使用的方法应该返回我创建的自定义 C++ 类。我只需要在方法范围内访问 Java 对象并将其成员绑定到 C++ 类。
我见过一些 JNIEXPORT void JNICALL 的东西,但我似乎无法理解它们或让这些东西正常工作的导入。
如果上面使用的方法也适用于自定义类,那就太好了,这将是一个救命稻草。
提前致谢!
【问题讨论】:
标签: java c++ java-native-interface