Cocos2d-x3.3RC0通过JNI实现Java与C++互调(三)

2015-01-27 14:05:40 · 作者: · 浏览: 315
sage; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import android.os.Message; public class AppActivity extends Cocos2dxActivity{ public static final int SHOW_DIALOG = 0x0001; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); JniTestHelper.init(mHandler);//将下面定义的Handler对象,初始化JniTestHelper中的Handler对象。 JniTestHelper.setPackageName(this.getPackageName()); } public Cocos2dxGLSurfaceView onCreateView(){ Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this); glSurfaceView.setEGLConfigChooser(5,6,5,0,16,8); return glSurfaceView; } static { System.loadLibrary("cocos2dcpp"); } private Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case SHOW_DIALOG://设置提示框 DialogMessage dm = (DialogMessage)msg.obj; new AlertDialog.Builder(AppActivity.this) .setTitle(dm.titile) .setMessage(dm.message).setNegativeButton("cancle", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { // TODO Auto-generated method stub arg0.dismiss(); } }) .setPositiveButton("Ok",new DialogInterface.OnClickListener(){ public void onClick(DialogInterface arg0, int arg1) { arg0.dismiss(); JniTestHelper.exitApp(); } }) .create().show(); break; } } }; }
好了,代码和注释基本就结束了,还需要该的是Android.mk文件。代码如下:
LOCAL_SRC_FILES := hellocpp/main.cpp \
				   hellocpp/test.cpp \   //将新建的test.cpp类加入mk文件
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/HelloWorldScene.cpp
之前介绍过万能mk文件生成方法,详见http://blog.csdn.net/yuxikuo_1/article/details/39552431。为了减少出问题的几率,建议改高AndroidManifest中的SDK版本,不改无所谓也。

6、工程总目录

 
 \
 

三、编译运行

如出现问题可参考 1)http://blog.csdn.net/yuxikuo_1/article/details/39654499 2)http://blog.csdn.net/yuxikuo_1/article/details/39552639 3)http://blog.csdn.net/yuxikuo_1/article/details/39671733
注:环境Mac XCode6 ADT22.2.1 Cocos2d-x3.3RC0 红米Note。
源码
说了这么多,没有源码那不是坑爹么。源码连接:http://pan.baidu.com/s/1jGn80QE