2011-04-22 74 views
2

我從最終將廣告投放到我的應用程序中脫穎而出(我認爲)。但是在1行發生崩潰。參見代碼:將AdMob添加到Android應用程序:AdView

public class ... extends ListActivity { 
/** Called when the activity is first created. */ 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //setContentView(R.layout.main); 
    String[] rmenu = getResources().getStringArray(R.array.root_menu); 
    if (rmenu != null) { 
     setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, rmenu)); 
    } 
    setContentView(R.layout.main); 
    // 
    // Admob Code 
    // Create the adView 
    AdView av = new AdView(this, AdSize.BANNER, "publisher_id"); 
    // Lookup your LinearLayout assuming it’s been given 
    // the attribute android:id="@+id/mainLayout" 
    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout); 
    // Add the adView to it 
    layout.addView(av); 
    // Initiate a generic request to load it with an ad 
    av.loadAd(new AdRequest()); 
} 

崩潰發生在行:layout.addView(av);

我有一個adview添加到上面引用的佈局文件(mainLayout)。 我將添加XML代碼以及下面:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mainLayout" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#000000" > 

<adView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textColor="#FFFFFF" 
    android:text="Loading..." /> 

</LinearLayout> 

任何幫助,將不勝感激!或者只是一個手指在正確的方向。

logcat的文件::

'code'04-22 18:00:29.862: DEBUG/AndroidRuntime(307): >>>>>>>>>>>>>> AndroidRuntime   START <<<<<<<<<<<<<< 
04-22 18:00:29.862: DEBUG/AndroidRuntime(307): CheckJNI is ON 
04-22 18:00:30.002: DEBUG/AndroidRuntime(307): --- registering native functions --- 
04-22 18:00:30.642: INFO/ActivityManager(59): Starting activity: Intent {  act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.xxxxx/.xxxxx } 
04-22 18:00:30.762: DEBUG/AndroidRuntime(307): Shutting down VM 
04-22 18:00:30.772: DEBUG/dalvikvm(307): Debugger has detached; object registry had 1 entries 
04-22 18:00:30.852: INFO/ActivityManager(59): Start proc com.xxxxx for activity com.xxxxx/.xxxxx: pid=314 uid=10036 gids={3003} 
04-22 18:00:30.872: INFO/AndroidRuntime(307): NOTE: attach of thread 'Binder Thread #3' failed 
04-22 18:00:31.812: DEBUG/AndroidRuntime(314): Shutting down VM 
04-22 18:00:31.812: WARN/dalvikvm(314): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314): FATAL EXCEPTION: main 
04-22 18:00:31.842: ERROR/AndroidRuntime(314): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxxx/com.xxxxx.xxxxx}: java.lang.NullPointerException 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at android.os.Looper.loop(Looper.java:123) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at java.lang.reflect.Method.invoke(Method.java:521) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at dalvik.system.NativeStart.main(Native Method) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314): Caused by: java.lang.NullPointerException 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at com.xxxxx.xxxxxx.onCreate(txchl.java:36) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
04-22 18:00:31.842: ERROR/AndroidRuntime(314):  ... 11 more 

===========已更新======================= ======

固定。

好吧,我不再發生崩潰,我看到廣告在大約幾分鐘後彈出!

這是我做的。在本教程http://code.google.com/mobile/ads/docs/android/fundamentals.html您將看到第一步是將SDK JAR添加到您的項目中。我剛開始使用新的JAR文件,名爲「googleadmobadssdkandroid」。我仍然有可用的更老的下載,標題爲「admob-sdk-android_20101109」,並且我將BOTH JAR文件添加到我的項目中,上面的代碼現在可以工作。

+0

你得到什麼錯誤?你可以發佈日誌嗎? – yogsma 2011-04-22 17:57:15

+0

將日誌文件添加到OP。 – bzo311 2011-04-22 18:03:41

回答

1

你的LinearLayout似乎缺少在下面第二行:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res/your.package.name"

然後,讓你添加的Jar到您的構建路徑,並且它位於您的「庫」文件夾?

最後,我有時會忘記在res創建attrs.xml文件/值

1

固定。

好吧,我不再發生崩潰,我看到廣告在大約幾分鐘後彈出!

這是我做的。在http://code.google.com/mobile/ads/docs/android/fundamentals.htmlthis教程您會看到第一步是將SDK JAR添加到您的項目中。我剛開始使用新的JAR文件,名爲「googleadmobadssdkandroid」。我仍然有可用的更老的下載,標題爲「admob-sdk-android_20101109」,並且我將BOTH JAR文件添加到我的項目中,上面的代碼現在可以工作。