COCOS2DX 添加广告(百度移动联盟)

查看类路径方法:

 javap -s YourClassName 

 

定义:

打开: \项目\proj.android\src\org\项目名\你的游戏名

 

public class FNXN extends Cocos2dxActivity{

……

……

public static AdView adView;    // 第3方广告
……

……

}

 

方法1:

android 代码:

  

public static void TESTADS() { 
  new Thread(new Runnable(){

  @Override
  public void run() {
  adView.setVisibility( adView.VISIBLE );
  }

  }).start();
}

  

C++ 代码:

载入头文件

#include <jni/JniHelper.h>

 

JniMethodInfo minfo;  
jobject jobj;  

bool b = JniHelper::getStaticMethodInfo(minfo,   
"org/agame/fnxn/FNXN",  //类路径  请修改成自己的类路径
"TESTADS",   //静态方法名  
"()V");   //括号里的是参数,后面的是返回值。  
jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID);  

  

方法2(广播):

和方法1大同小异

 

Android 代码:

 private class MainHandler extends Handler
    {  
           @Override  
           public void handleMessage(Message msg)
           {  
           switch (msg.what)
           {  
	           case 1:
	           {
	        	   adView.setVisibility( adView.VISIBLE );
	            break;
	           }
	           case 2:
	           {  
	        	   adView.setVisibility( adView.GONE );	
	            break;  
	           }
            default:  
            break;  
           }
       } 
    } 

 在onCreate里添加下列代码

protected void onCreate(Bundle savedInstanceState){……
super.onCreate(savedInstanceState);
//添加

mHandler  = new MainHandler();

……

}

  

继续添加静态函数:

 public static void SendMsg(int i)
    {
    	mHandler.sendEmptyMessage(i);
    	Log.i("A", "SendMsg:"+i);
    }

 

C++ 代码 :

调用 SendMsg 就可以了

JniMethodInfo minfo;  
jobject jobj;  
jint _int = 1; 

bool b = JniHelper::getStaticMethodInfo(minfo,   
 		"org/agame/fnxn/FNXN",  //类路径  
 		"SendMsg",   //静态方法名  
 		"(I)V");   //括号里的是参数,后面的是返回值。  
  	jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID, 1 );  

  

posted @ 2012-12-26 16:06  Bmi  阅读(1344)  评论(0编辑  收藏  举报