
我的申请中有7项活动.我想在每个活动中展示admob
我是否必须在每个活动中创建每个AdVIEw?
要么
是否有任何替代方法可以重用以前的活动容器或防止它被破坏,所以我可以在下一个活动中使用….
任何代码或提示我们都会欣赏.
Thankx
解决方法:
我知道这个.感谢yorkw发表评论.这不是一个有效的代码.但是你可以相应地修改.这减少了每个活动的代码.
只需扩展“TestingAdmobActivity”&请致电SetupAds()来致电您的顾问.
我的SuperClass“TestingAdmobActivity.java”
package com.test.myadmob;import com.Google.ads.Ad;import com.Google.ads.AdListener;import com.Google.ads.AdRequest;import com.Google.ads.AdRequest.ErrorCode;import com.Google.ads.AdSize;import com.Google.ads.AdVIEw;import androID.app.Activity;import androID.os.Bundle;import androID.os.Handler;import androID.os.Message;import androID.util.Log;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup.LayoutParams;import androID.Widget.linearLayout;public class TestingAdmobActivity extends Activity implements AdListener{ public AdVIEw adVIEw; public String ADV_PUB_ID = "a14e2fb60918999"; private boolean adVisible = true; linearLayout layout; /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i("Admob", "Calling External"); } public voID SetupAds(){ Log.i("AdMob", "Start Setup"); layout = new linearLayout(this); layout.setorIEntation(linearLayout.VERTICAL); layout.setGravity(androID.vIEw.Gravity.BottOM | androID.vIEw.Gravity.CENTER_HORIZONTAL); //To put AdMob Adv to Bottom of Screen Log.i("AdMob", "End Layout Setup"); addContentVIEw(layout, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); adVIEw = new AdVIEw(this, AdSize.BANNER, ADV_PUB_ID); adVIEw.setAdListener(this); Log.i("AdMob", "Init complete AdvIEw"); layout.addVIEw(adVIEw, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); Log.i("AdMob", "Done AddVIEw Layout"); AdRequest request = new AdRequest(); request.addTestDevice(AdRequest.TEST_EMulATOR); request.addKeyword("lifeOK"); adVIEw.loadAd(request); Log.i("AdMob", "End Setup"); } private Handler handler = new Handler() { public voID handleMessage(Message msg) { switch (msg.what) { case 0: //disable Adv if (adVisible) adVisible = false; break; case 1: //Enable Adv if (!adVisible) { Log.i("AdMob", "Case 1"); adVisible = true; } break; case 2: //Enable but HIDe Adv adVIEw.setVisibility(VIEw.GONE); break; case 3: //Enable but Show Adv adVIEw.setVisibility(VIEw.VISIBLE); break; default: break; } } }; public voID disableAds() { Log.i("AdMob", "Request disable Adv"); handler.sendEmptyMessage(0); } public voID EnableAds() { Log.i("AdMob", "Request Enable Adv"); handler.sendEmptyMessage(1); } public voID HIDeAdv() //Enable Adv but HIDe { Log.i("AdMob", "Request HIDe Adv"); handler.sendEmptyMessage(2); } public voID ShowAdv() //Show Adv { Log.i("AdMob", "Request Show Adv"); handler.sendEmptyMessage(3); } @OverrIDe public voID ondismissScreen(Ad arg0) { // Todo auto-generated method stub Log.d("AdMob", "dismiss Screen"); } @OverrIDe public voID onFailedToReceiveAd(Ad arg0, ErrorCode arg1) { // Todo auto-generated method stub Log.d("AdMob", "Failed to receive ad (" + arg1 + ")"); } @OverrIDe public voID onLeaveApplication(Ad arg0) { // Todo auto-generated method stub Log.d("AdMob", "Leaving Application"); } @OverrIDe public voID onPresentScreen(Ad arg0) { // Todo auto-generated method stub Log.d("AdMob", "Present Screen"); } @OverrIDe public voID onReceiveAd(Ad arg0) { // Todo auto-generated method stub Log.d("AdMob", "Adv Received"); }}我的FirstActivityClass“NewActivity_1.java”
package com.test.myadmob;import androID.content.Intent;import androID.os.Bundle;import androID.util.Log;import androID.vIEw.VIEw;import androID.Widget.button;public class NewActivity_1 extends TestingAdmobActivity { /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); Log.i("Admob", "OnCreate"); SetupAds(); Log.i("Admob", "Done"); button button1 = (button) findVIEwByID(R.ID.button1); button1.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { // Todo auto-generated method stub Log.i("Admob", "Going to Activity 2"); Intent mainIntent = new Intent().setClass(NewActivity_1.this, NewActivity_2.class); startActivity(mainIntent); } }); }}我的SecondActivityClass“NewActivity_2.java”
package com.test.myadmob;import androID.content.Intent;import androID.os.Bundle;import androID.util.Log;import androID.vIEw.VIEw;import androID.Widget.button;public class NewActivity_2 extends TestingAdmobActivity { /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); Log.i("Admob", "OnCreate"); SetupAds(); Log.i("Admob", "Done"); button button1 = (button) findVIEwByID(R.ID.button1); button1.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { // Todo auto-generated method stub Log.i("Admob", "Going Back to Activity 1"); finish(); } }); }}我的AndroIDManifest.xml
<?xml version="1.0" enCoding="utf-8"?><manifest xmlns:androID="http://schemas.androID.com/apk/res/androID" package="com.test.myadmob" androID:versionCode="1" androID:versionname="1.0" > <uses-sdk androID:minSdkVersion="7" /> <application androID:icon="@drawable/ic_launcher" androID:label="@string/app_name" > <activity androID:label="@string/app_name" androID:name=".NewActivity_1" > <intent-filter > <action androID:name="androID.intent.action.MAIN" /> <category androID:name="androID.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity androID:name=".TestingAdmobActivity" ></activity> <activity androID:name=".NewActivity_2" ></activity> <activity androID:name="com.Google.ads.AdActivity" androID:configChanges="keyboard|keyboardHIDden|orIEntation|screenLayout|uiMode|screenSize|smallestScreenSize" > </activity> </application> <!-- AdMob SDK requires Internet permission --> <uses-permission androID:name="androID.permission.INTERNET" /> <uses-permission androID:name="androID.permission.ACCESS_FINE_LOCATION" /> <uses-permission androID:name="androID.permission.ACCESS_MOCK_LOCATION" /> <uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE" /> <uses-permission androID:name="androID.permission.READ_PHONE_STATE" /> <!-- to get AndroID Device ID --> </manifest>注意:为了Google admob sdk使用的权限,我必须使用min-sdk版本7在androID 4.0 sdk上构建它
总结以上是内存溢出为你收集整理的android – 多项活动的Admob?全部内容,希望文章能够帮你解决android – 多项活动的Admob?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)