在Android程序中加入Google AdMob (二)
上一篇文章介绍了如何在Java代码中加入AdView的对象,在程序中显示Google AdMob的广告。一般情况下Android程序都是用XML文件描述软件界面的,这篇文章就介绍一下如何在XML文件中加入Google AdMob的广告。
在XML文件中加入AdView主要有下面4个步骤:
1. 将AdMob的SDK JAR文件加入到项目,上篇文章中已经介绍过,在此略过。
2. 定义一个com.google.ads.AdView
修改res/layout/main.xml文件,加入AdView的定义,并设置属性值。
将XML文件中的MY_AD_UNIT_ID替换为你的publisher ID,同时不要忘记的是要把ads的名字空间加入到文件中,以便adUnitId和adSize的属性可用。
3. 定义adSize和adUnitId
在res/values/attrs.xml文件中定义adSize和adUnitId。
4. 查找并显示广告
在XML文件不能做的事情就是让AdView加载一个AdRequest。要在Java中完成这步,要通过findViewById找到AdView之后调用loadAd方法就可以显示广告了。
运行这个项目就可以看到广告了。同时也不要忘记修改AndroidManifest.xml文件,将AdActivity和权限加入到配置文件中。[ad#bottom banner of pages]
在XML文件中加入AdView主要有下面4个步骤:
- 将AdMob的SDK JAR文件加入到项目
- 在res/layout/main.xml文件中定义一个com.google.ads.AdView
- 在res/values/attrs.xml文件中定义adSize枚举类型和adUnit属性
- 运行时将AdView作为资源查找到并请求广告内容
1. 将AdMob的SDK JAR文件加入到项目,上篇文章中已经介绍过,在此略过。
2. 定义一个com.google.ads.AdView
修改res/layout/main.xml文件,加入AdView的定义,并设置属性值。
xmlns:ads="http://schemas.android.com/apk/res/com.google.example"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="MY_AD_UNIT_ID"
ads:adSize="BANNER"/>
将XML文件中的MY_AD_UNIT_ID替换为你的publisher ID,同时不要忘记的是要把ads的名字空间加入到文件中,以便adUnitId和adSize的属性可用。
3. 定义adSize和adUnitId
在res/values/attrs.xml文件中定义adSize和adUnitId。
4. 查找并显示广告
在XML文件不能做的事情就是让AdView加载一个AdRequest。要在Java中完成这步,要通过findViewById找到AdView之后调用loadAd方法就可以显示广告了。
import com.google.ads.*;
public class BannerExample extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Look up the AdView as a resource and load a request.
AdView adView = (AdView)this.findViewById(R.id.adView);
adView.loadAd(new AdRequest());
}
}
运行这个项目就可以看到广告了。同时也不要忘记修改AndroidManifest.xml文件,将AdActivity和权限加入到配置文件中。[ad#bottom banner of pages]
一直在用Android的手机,但对java不熟,也一直没有试着自己写个小程序
回复删除有没有支持c语言的
可以下载Android NDK试试,NDK支持c语言。
回复删除你好 我想问一下我在添加广告时 总是会出现网络出错,但是我运行其他的程序网络是可以用的
回复删除是不是你用的SDK的版本的问题?或者安装到手机中测试试试
回复删除