我正在开发几个使用常见XML
界面元素的应用程序。 这些元素之一加载AdMob
。 我可以复制每个项目中的元素,并将每个应用程序的唯一ID
放在复制的XML
文件中,但我想知道是否有某种方法可以编程地设置应用程序中的 I
D 字符串,同时保持XML
,而不必在每个项目中复制它。
类似于:
setContentView(R.layout.main);
AdView aView = (AdView)findViewById(R.id.admob);
aView.<method goes here that sets ads:adUnitId>
我知道,我可以通过编程方式执行此操作,而不是从XML
实例化AdMob
,或者我可以将main.xml
复制到每个项目并修改那里的ID
,而不是使用我的库中的那个。 但是我会更高兴使用类似于上面示例代码的解决方案,它让我可以将AdMob
代码保存在main.xml
中,并且在更改时不会让我在 n 个地方更新main.xml
。
我一直无法找到AdMob
附带的可交付成果的类引用或完整描述,并且自动完成没有向我显示任何似乎适合此需求的方法。 如果有人能指出我一个对AdMob
类有很好的描述的地方,那将是一个很大的帮助。
设置一个空占位符视图(在本例中为 ListView(,然后在 Java 中以编程方式添加 AdView,如下所示:
ListView lv = (ListView)findViewById(R.id.adplaceholder);
//create the AdView (replace MY_BANNER_UNIT_ID with the admob ID of your choice)
AdView av = new AdView(this, AdSize.BANNER, MY_BANNER_UNIT_ID);
lv.addView(av);//add the AdView to your layout
AdRequest request = new AdRequest();
adView.loadAd(request);
我做了以下
-
在您的库项目中,添加字符串.xml一个值为 " 的元素,该元素表示 adUnitId。
<string name="ad_unit_id"></string>`
-
在版式中插入广告视图
ads:adUnitId="@string/ad_unit_id"`
-
在您的其他项目中,添加字符串.xml具有当前 adunitId 的相同元素
<string name="ad_unit_id">XXXXXXXXXXXXXXXXX</string>`
享受:)