zoukankan      html  css  js  c++  java
  • Cocos2d-x调用Java 代码

    Java代码:

    package com.dishu;
    
    import com.dishu.org.R;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.content.DialogInterface;
    import android.os.Looper;
    
    public class Dialog {
        public static Dialog ins = null;  
        public static Dialog getInstance(){  
            if (ins == null){  
                ins = new Dialog();  
            }  
            return ins;
        }  
        
        private Activity _activity;
        public void initRoot(Activity root)
        {
            _activity = root;
        }
        public void showQuitDialog()
        {
            _activity.runOnUiThread(new Runnable() {
                
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    AlertDialog.Builder builder = new AlertDialog.Builder(_activity);
                    builder.setMessage(R.string.msg);
                    builder.setPositiveButton(R.string.sure, new DialogInterface.OnClickListener(){ 
                        public void onClick(DialogInterface dialoginterface, int i){ 
                            //按钮事件 
                            _activity.finish();
                            System.exit(0);
                         } 
                    });
                    builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                        
                        @Override
                        public void onClick(DialogInterface dialoginterface, int i){ 
                            //按钮事件 
                         } 
                    });
                    builder.create().show();
                }
            });
        }
    }
    public class AppActivity extends Cocos2dxActivity {
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            Dialog.getInstance().initRoot(this);
        }
    }

    cocos2dx代码:

    #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) 
    #include <jni.h> 
    #include "platform/android/jni/JniHelper.h" 
    #include <android/log.h> 
    #endif 
            // JNI call test  
    #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)  
            JniMethodInfo minfo; 
            jobject jobj;  
            if (JniHelper::getStaticMethodInfo(minfo, "com/dishu/Dialog",
                "getInstance", "()Lcom/dishu/Dialog;"))
            {
                jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID);
                if (JniHelper::getMethodInfo(minfo, "com/dishu/Dialog",
                    "showQuitDialog", "()V"))
                {
                    minfo.env->CallVoidMethod(jobj, minfo.methodID);
                }
            }
    
    #endif  
  • 相关阅读:
    MapReduce在MES中的应用
    【VIPM技巧】多版本LabVIEW无法连接问题
    【LabVIEW技巧】你可以不懂OOP,却不能不懂封装
    【LabVIEW技巧】代码块快速放置
    工作中那些提高你效率的神器(第二篇)_Listary
    工作中那些提高你效率的神器(第一篇)_Everything
    LabVIEW 吸星大法
    LabVIEW 吸星大法
    LabVIEW 吸星大法
    有哪些LabVIEW快捷键让你相见恨晚
  • 原文地址:https://www.cnblogs.com/as3lib/p/3988964.html
Copyright © 2011-2022 走看看