Android:尝试将admod添加到我以意图开始的第二个活动

时间:2011-08-12 20:36:14

标签: java android admob

我有一个具有启动屏幕的应用程序,当用户单击按钮时,它会使用意图在新活动中启动真实应用程序。当我尝试添加admob添加到第二个活动时,应用程序就崩溃了。

我从admobs网站上取了一个示例应用程序并修改它以复制我正在做的事情。我得到了相同的结果。增加第一个活动的工作,但是当我开始第二个活动时,它只会崩溃。

这是我的代码

清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.google.ads.example"
  android:versionCode="1"
  android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name="BannerXML"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name="com.google.ads.AdActivity" 
              android:configChanges="keyboard|keyboardHidden|orientation"/>
</application>
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
</manifest> 

原始示例代码中的主XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:ads="http://schemas.android.com/apk/res/com.google.ads.example"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent">

<Button android:text="Button"
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
</Button>              

<com.google.ads.AdView android:id="@+id/adView"
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       ads:adUnitId="MY_AD_UNIT_ID"
                       ads:adSize="BANNER" />

</LinearLayout>

使用我添加的代码启动新活动的原始源代码

public class BannerXML extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  final Button myBtn = (Button) findViewById(R.id.button1);
  myBtn.setOnClickListener(new Button.OnClickListener() {  
        @Override
        public void onClick(View v) {
            start_new_activity();
        }
       });

  // Look up the AdView as a resource and load a request.
  AdView adView = (AdView)this.findViewById(R.id.adView);
  adView.loadAd(new AdRequest());
}


private void start_new_activity()
{
     Intent i = new Intent(BannerXML.this, test_add.class);
    this.startActivity(i);  
    finish();
}
}  

我的新活动课

public class test_add extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.test);
    AdView adView = (AdView)this.findViewById(R.id.adView1);
    adView.loadAd(new AdRequest()); 
}
}

我的XML用于第二次布局活动

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
<TextView android:text="This is a test" 
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
 </TextView>
 <com.google.ads.AdView android:id="@+id/adView1"
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       ads:adUnitId="a14e449d41a7dbe"
                       ads:adSize="BANNER" />
</LinearLayout>

问题似乎与我的新布局的XML有关。即使我从未在第二个活动中执行添加请求,它仍会在启动时崩溃

任何帮助都会受到赞赏 感谢

1 个答案:

答案 0 :(得分:0)

在你的清单中,没有关于test_add活动的声明..

另外,我建议尊重CamelCase约定命名Java类