cocos2d-x 通过JNI实现c/c++和Android的java层函数交互(二)

2014-11-23 23:41:25 · 作者: · 浏览: 1
sendToTarget(); } }创建一个DialogMessage.java,封装dialog要显示的数据:

package com.DialogBox.org;

public class DialogMessage {
	public String title;
	public String msg;
}
修改主程序DialogBox.java

public class DialogBox extends Cocos2dxActivity{
	
	public static final int SHOW_DIALOG = 0x0001;
	
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);	
		JniTestHelper.init(mHandler);
		JniTestHelper.setPackageName(this.getPackageName());
	}

    public Cocos2dxGLSurfaceView onCreateView() {
    	Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);
    	// GuideLayer should create stencil buffer
    	glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);
    	
    	return glSurfaceView;
    }

    static {
        System.loadLibrary("cocos2dcpp");
    }    
    
    //显示对话框的函数
    private Handler mHandler = new Handler()
    {
		@Override
		public void handleMessage(Message msg) {
			switch(msg.what)
			{
			case SHOW_DIALOG:
				DialogMessage dm = (DialogMessage)msg.obj;
				new AlertDialog.Builder(DialogBox.this)
				.setTitle(dm.titile)
				.setMessage(dm.message).setNegativeButton("cancle", new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						dialog.dismiss();
					}
				})
				.setPositiveButton("Ok", 
						new DialogInterface.OnClickListener() {

					@Override
					public void onClick(DialogInterface dialog, int which) {
						dialog.dismiss();
						JniTestHelper.exitApp();
					}
				})
				.create().show();
				break;
			}
		}
    };
}

编译运行,效果如下:


    棣m 堋丕 0r堋 佘鬏  html