2013. 5. 30. 15:39ㆍcocos2d-x
안드로이드에서...
public static void JniTest()
{
Log.d("Cocos2d-x", "Function Call from C++!");
}
이 안드로이드 함수를 C++에서 호출 해보자!
호출할 cpp위쪽에 앞서 적었던 jni.h와 JniHelper.h를 추가 하자.
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#include "jni.h"
#include "platform/android/jni/JniHelper.h"
#endif
그리고 원하는 함수에다가
//자바 함수 호출하기
void Game::callJavaMethod(CCObject* pSender)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo t;
if (JniHelper::getStaticMethodInfo(t
, "com/ext/AdGame/AdGame" //com/ext/AdGame <-까지가 패키지 명이고 그 뒤가 자바 파일 이름
, "JniTest" //<- 함수이름
, "()V"))
{
// 함수 호출
t.env->CallStaticVoidMethod(t.classID, t.methodID);
// Release
t.env->DeleteLocalRef(t.classID);
}
#endif
자 이제 연결되었으니 안드로이드 쪽에서 함수 만들고 후딱후딱 해불자.
'cocos2d-x' 카테고리의 다른 글
[cocos2d-x]CURL 파일 download ! (0) | 2013.06.03 |
---|---|
[cocos2d-x]JNI cpp->Java (0) | 2013.05.31 |
[cocos2d-x]cocos2d-x 안드로이드 액티비티 이동 (0) | 2013.05.30 |
[cocos2d-x]안드로이드 동영상 재생 (0) | 2013.05.29 |
[cocos2d-x] cpp <=> object c 연결 (0) | 2013.05.28 |