2011-01-11 2 views
0

Это моя первая попытка включить рекламу в моем приложении. Я прочитал онлайн-документацию и прочитал ее дословно. Теперь единственной частью, которую я не получаю, является то, как на самом деле запрашивать рекламу и добавлять ее в мое приложение.Android admob adview force close

AdView adView = (AdView)findViewById(R.id.ad); 

Это похоже на работу до сих пор. Все, что я делаю, просто закроет. Например, добавив следующую строку:

adView.setAdListener(this); 

Я реализовал AdListener к деятельности.

Кстати, когда я наведите курсор мыши на импортируемые классы:

import com.admob.android.ads.AdView; 

или другие подобные классы, он говорит: Примечание: Этот элемент ни прикрепил источник, ни прикрепленную Javadoc и, следовательно, не Javadoc не удалось найти.

Это должно быть правильно?

+0

Можете ли вы предоставить логи аварии? Примечание - это нормально. –

+0

01-10 20: 20: 11.152: ERROR/AndroidRuntime (2043): at com.admob.android.ads.AdView. (AdView.java:323) 01-10 20: 20: 11.152: ERROR/AndroidRuntime (2043): at com.admob.android.ads.AdView. (AdView.java:308) 01-10 20: 20: 11.152: ERROR/AndroidRuntime (2043): at com.admob.android.ads.AdView. (AdView.java:267) Извините, никогда не публиковал журнал до ... – semajhan

ответ

2

Это трудно сказать наверняка, не видя кода и макет, но вот некоторые вещи, которые вы можете проверить:

1) AdMobActivity объявлен в вашем AndroidManifest:

<activity android:name="com.admob.android.ads.AdMobActivity" 
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
android:configChanges="orientation|keyboard|keyboardHidden" /> 

2) Вы запрашиваете разрешение INTERNET в вашем AndroidManifest:

<uses-permission android:name="android.permission.INTERNET" /> 

3) файл attrs.xml содержит необходимые стили:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="com.admob.android.ads.AdView"> 
     <attr name="backgroundColor" format="color" /> 
     <attr name="primaryTextColor" format="color" /> 
     <attr name="secondaryTextColor" format="color" /> 
     <attr name="keywords" format="string" /> 
     <attr name="refreshInterval" format="integer" /> 
    </declare-styleable> 
</resources> 

4) Ваш AdView включен в макете:

<com.admob.android.ads.AdView 
    android:id="@+id/ad" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    myapp:backgroundColor="#000000" 
    myapp:primaryTextColor="#FFFFFF" 
    myapp:secondaryTextColor="#CCCCCC" 
/> 

5) Ваш AdView был найден правильно:

AdView adView = (AdView)findViewById(R.id.ad); 
if (adView == null) { 
    Log.e(TAG, "AdView not found!"); 
} 
+0

По-видимому, вид не найден. Я проверил, и xml кажется прекрасным. Нужно снова перепроверять. – semajhan

+0

Объявления теперь отображаются на эмуляторе, но то, что я до сих пор не понимаю, - это то, почему он не работает через xml-код. Я создал AdView через код, и теперь он работает. Ба, я ненавидел xml и на этот раз подумал, что я могу ладить и изучать xml, но это очень тяжело для меня. – semajhan

+0

Убедитесь, что вы вызываете setContentView с правильной компоновкой и передаете правильный идентификатор findViewById. Достаточно просто иметь что-то вроде «объявления» в одном макете и «объявление» в другом, и вызвать findViewById с неправильным, что приведет к null. –