Android-Admob SurfaceView
我是android开发新手,但我正在尝试将admob添加到我的应用程序中,该应用程序使用surfaceview(panelView-GameView) 我试着跟随,但我一定是做错了什么,比如rl.addView(panelView);添加nullPointerException。非常感谢您的帮助Android-Admob SurfaceView,android,admob,Android,Admob,我是android开发新手,但我正在尝试将admob添加到我的应用程序中,该应用程序使用surfaceview(panelView-GameView) 我试着跟随,但我一定是做错了什么,比如rl.addView(panelView);添加nullPointerException。非常感谢您的帮助 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); request
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//setContentView(R.layout.main);
AdView adView = new AdView(this, AdSize.BANNER, "a14ded47ad3779e");
panelView = (GameView) findViewById(R.id.gameScreen);
RelativeLayout rl = new RelativeLayout(this);
rl.addView(panelView);
rl.addView(adView);
setContentView(rl);
threadView = panelView.getThread();
}
您正在从xml布局中扩展GameView类,并将其添加到根视图中,该根视图不是在同一xml中定义的。您有两个选择:
game_layout.xml
,则将其用作:
setContentView(R.layout.game_layout.xml);
游戏布局.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="@string/admob_id"
ads:adSize="BANNER"
ads:loadAdOnCreate="true"
android:layout_alignParentBotom="true"
/>
<your.package.GameView
android:id="@+id/gameScreen"
android:layout_alignParentTop="true"
android:layout_above="@id/adView"
/>
</RelativeLayout>
就像我说的,我很新。。。我已经用4000多行代码创建了gameview类。我将如何在xml中调用这个和adView?如果你知道这方面的教程,那就行了。“我想我不明白视图是如何工作的……”Tom在更新后的回复中看到了这个例子。关于教程,我建议您从阅读开发指南开始:我将您标记为已接受答案,但我仍然有问题。。。现在它给了我一个运行时错误和一个空白屏幕。谢谢你的帮助。我在军队里,在业余时间自学。我真的建议你从一些更温和的项目开始。4K LOC对于初学者来说太多了。我知道如何编程,我知道逻辑是如何工作的,我只是不理解视图和所有android特有的东西-参考中的应用程序位于谷歌市场的“Joey Ant”下