Android-Admob SurfaceView

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

我是android开发新手,但我正在尝试将admob添加到我的应用程序中,该应用程序使用surfaceview(panelView-GameView)

我试着跟随,但我一定是做错了什么,比如rl.addView(panelView);添加nullPointerException。非常感谢您的帮助

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中定义的。您有两个选择:

  • 您完全用Java创建SurfaceView(如您发布的示例所示)

  • 在xml布局中包括AdView(我更喜欢这个选项而不是另一个)

  • 如果将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”下