2012-12-01 71 views
3

我在Android應用程序中遇到AdMob問題。我已經完成了所有描述的here,但是當我啓動程序時,它不運行(有很多錯誤)。我會告訴你節目的片段:Android應用程序無法與AdMob一起運行

public class MenuMainActivity extends Activity{ 

private AdView adView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_menu_main); 

    adView = new AdView(this, AdSize.BANNER, "(code-15 signs)"); 
    RelativeLayout layout = (RelativeLayout)findViewById(R.layout.activity_menu_main); 
    layout.addView(adView); 
    adView.loadAd(new AdRequest()); 

而且還XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<TextView 
    android:id="@+id/titleOfGame" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="3dp" 
    android:layout_centerHorizontal="true" 
    android:textSize="25sp" 
    android:text="@string/title_of_game_text" /> 

...

當我評價兩行:

//layout.addView(adView); 
//adView.loadAd(new AdRequest()); 

一切都OK 。哪裏有問題?

回答

0

如果你使用findViewById(),你必須傳遞一個id,在那裏傳遞一個「佈局」。

應該是這樣的:

RelativeLayout layout = (RelativeLayout)findViewById(R.id.adLayer); 

創建具有「吸附層」佈局爲你喜歡的地方的廣告展現出來的「身份證」,並將其放置在你的佈局。

+0

當我創建佈局時,我不知道如何添加任何標識,因爲在創建後默認情況下只有:layout_height,layout_width,工具。在我的情況下,在res/values/ids.xml中動態添加ID爲也是一個壞主意。我不知道如何: 「用」adLayer「創建一個佈局作爲」ID「」? – andrew

+0

只需將ID標籤添加到您的佈局android:id =「@ + id/myLayoutName」 – mbwasi

0

正如前面的海報已經提到你需要在你的佈局,你想YOUT廣告出現,以創建一個特定的地方,例如,使用您提供的代碼:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<TextView 
    android:id="@+id/titleOfGame" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="3dp" 
    android:layout_centerHorizontal="true" 
    android:textSize="25sp" 
    android:text="@string/title_of_game_text"/> 
<RelativeLayout 
    android:id="@+id/adLayer" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    etc. etc./> 

然後,您需要更改代碼在您的活動中:

RelativeLayout layout = (RelativeLayout)findViewById(R.id.adLayer); 

正如BrainCrash所示。 希望這有助於!

+0

好主意,但它仍然無法正常工作。我添加了你寫的內容,但仍然是同樣的問題。 「R.java」文件在類「id」中添加「adLayer」,並且一切正常。但是當我開始這個程序的時候有一些bug。我添加了罐子當然也覆蓋「onDestroy()」。沒有廣告,一切都好。 – andrew

+0

您是否嘗試過將您的廣告指定爲XML文件中的視圖而不是佈局?我發現這很簡單。這裏有一個很好的例子:http://jmsliu.com/209 – BryanJ

+0

我抄: \t - GoogleAdMobAdsSdk-6.2.1 \t - libGoogleAnalyticsV2 2名下載的文件在Eclipse項目文件夾「庫」。 activity_main.xml中我已經加入 「機器人:ID =」 @ + ID/mainLayout」 在清單我已經加入: \t \t <使用的許可機器人:名稱= 「android.permission.INTERNET對」/> \t \t 和 \t 一切都很好,謝謝。 – andrew

相關問題