Java 将Admob添加到Android应用程序:AdView
我(我想)离最终在我的应用程序中投放广告还有一段距离。但是我在1号线遇到了车祸。见代码:Java 将Admob添加到Android应用程序:AdView,java,android,admob,Java,Android,Admob,我(我想)离最终在我的应用程序中投放广告还有一段距离。但是我在1号线遇到了车祸。见代码: public class ... extends ListActivity { /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.la
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());
}
公共类。。。扩展ListActivity{
/**在首次创建活动时调用*/
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
String[]rmenu=getResources().getStringArray(R.array.root_菜单);
如果(rmenu!=null){
setListAdapter(新的ArrayAdapter(this,R.layout.list_项,rmenu));
}
setContentView(R.layout.main);
//
//Admob代码
//创建adView
AdView av=新AdView(这个,AdSize.BANNER,“publisher_id”);
//查找线性布局(假设已给定)
//属性android:id=“@+id/mainLayout”
LinearLayout布局=(LinearLayout)findViewById(R.id.mainLayout);
//将adView添加到其中
布局。添加视图(av);
//启动一个通用请求以加载ad
av.loadAd(新地址());
}
崩溃发生在以下行:layout.addView(av)
我在上面引用的布局文件(mainLayout)中添加了一个adview。
我将在下面添加该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>
在本教程中,您将看到第一步是将SDK JAR添加到您的项目中。我最初使用的是可供下载的较新的JAR文件,标题为“GoogleedMobadSDSDKDAndroid”。我仍然可以下载较旧的文件,标题为“admob-SDK-android_20101109”,我将这两个JAR文件都添加到了我的项目中,上面的代码现在可以工作了。您的LinearLayout似乎缺少下面的第二行:
已修复
好吧,我不会再有崩溃了,我看到广告在几分钟后突然出现
以下是我所做的。在教程中,您将看到第一步是将SDK JAR添加到您的项目中。我最初使用的是可供下载的较新的JAR文件,名为“GoogleedMobadSDKDAndroid”。我仍然可以下载较旧的文件,名为“admob-SDK-android_20101109”,我将这两个JAR文件都添加到了我的项目中,上面的代码现在可以运行了。您遇到了什么错误?您可以发布日志吗?将日志文件添加到OP中。
'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