0

应用程序假设在启动屏幕后显示主页,但是,在X秒的启动超时后,应用程序崩溃。请帮助,我附上了错误和以下必要的代码。Android应用程序无法启动活动组件信息

错误日志:

01-04 22:48:35.548: E/AndroidRuntime(28912): FATAL EXCEPTION: main 
01-04 22:48:35.548: E/AndroidRuntime(28912): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dapoaugury.channelappdemo/com.dapoaugury.channelappdemo.ChannelAppMainActivity}: java.lang.NullPointerException 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.access$700(ActivityThread.java:159) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.os.Looper.loop(Looper.java:137) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.main(ActivityThread.java:5419) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at java.lang.reflect.Method.invokeNative(Native Method) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at java.lang.reflect.Method.invoke(Method.java:525) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at dalvik.system.NativeStart.main(Native Method) 
01-04 22:48:35.548: E/AndroidRuntime(28912): Caused by: java.lang.NullPointerException 
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.dapoaugury.channelappdemo.ChannelAppMainActivity.initializeMenu(ChannelAppMainActivity.java:151) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.dapoaugury.channelappdemo.ChannelAppMainActivity.onCreate(ChannelAppMainActivity.java:118) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.Activity.performCreate(Activity.java:5372) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257) 

闪屏代码:

new Handler().postDelayed(new Runnable() { 

      @Override 
      public void run() { 
       mProgress.setProgress(SPLASH_TIME_OUT); 
       Intent i = new Intent(ChannelAppSplashActivity.this, ChannelAppMainActivity .class); 
       startActivity(i); 
       finish(); 
      } 
     }, SPLASH_TIME_OUT); 

MainActivity代码(从错误日志导出):

public void initializeMenu() { 
    ChannelAppMenuAdapter mAdapter = new ChannelAppMenuAdapter(this); 

    // Profile 
    mAdapter.addHeader("Account"); 

    // Parse FB Profile data 
    // ChannelAppFBDataParser fbParser = new ChannelAppFBDataParser(); 
    // List<UserProfile> userProfile = 
    // fbParser.parse(getApplicationContext()); 
    // title = userProfile.get(0).getUserName(); 
    // icon = R.drawable.ic_profile_pic; 
    // ChannelAppMenuItemModel userItem = new ChannelAppMenuItemModel(title, 
    // icon); 
    // mAdapter.addItem(userItem); 


    //Case 1: 
    title = getIntent().getExtras().getString("name"); 
    icon = R.drawable.ic_profile_pic; 
    ChannelAppMenuItemModel userItem = new ChannelAppMenuItemModel(title, 
      icon); 
    mAdapter.add(userItem); 

    //Case 2: 
    /*title = "Settings"; 
    icon = R.drawable.ic_settings; 
    mAdapter.addItem(title, icon);*/ 

    //Case 2: 
    if (isLogin){ 
     title = "Logout"; 
     } 
    else{ 
    title = "Login"; 
    } 
    icon = R.drawable.google_icon; 
    mAdapter.addItem(title, icon); 


    // Channels 
    mAdapter.addHeader("Channels"); 

    //Case 4: 
    title = "Exhibition"; 
    icon = R.drawable.icon; 
    ChannelAppMenuItemModel exhibitItem = new ChannelAppMenuItemModel(
      title, icon); 
    mAdapter.addItem(exhibitItem); 

    //Case 5: 
    title = "Galleries"; 
    icon = R.drawable.icon; 
    ChannelAppMenuItemModel galleryItem = new ChannelAppMenuItemModel(
      title, icon); 
    mAdapter.addItem(galleryItem); 

    //Case 6: 
    title = "Artists"; 
    icon = R.drawable.icon; 
    ChannelAppMenuItemModel otherItem = new ChannelAppMenuItemModel(title, 
      icon); 
    mAdapter.addItem(otherItem); 

    mAdapter.addHeader("Products"); 

    //Case 8: 
    title = "Search"; 
    icon = R.drawable.ic_action_search; 
    ChannelAppMenuItemModel searchItem = new ChannelAppMenuItemModel(title, 
      icon); 
    mAdapter.addItem(searchItem); 


    mDrawerList = (ListView) findViewById(R.id.drawer); 
    if (mDrawerList != null) 
     mDrawerList.setAdapter(mAdapter); 

    mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); 

} 
+0

你在initializeMenu(),第151行,ChannelAppMainActivity.java中有一个NullPointerException。那条线是什么? – 2015-01-04 15:03:47

+0

戈兰,这没什么好玩的。它更有趣,只需要在我这样的答案总猜测 – 2015-01-04 15:04:21

回答

2

你没有给出任何额外的意图。所以这条线

title = getIntent().getExtras().getString("name"); 

崩溃。与

title = getIntent().getStringExtra("name"); 

更换或提供一个额外的名为“名”

+0

非常感谢您的帮助,非常感谢 – androidnoob 2015-01-04 15:30:42

0

您没有使用putextra到mainactivity从闪屏通过tiitle的意图,所以它的retreving空。

Intent i = new Intent(ChannelAppSplashActivity.this, ChannelAppMainActivity .class); 
i.putExtra("name" , "tittlename"); 
startActivity(i); 
1

上面提到了可能的答案。我想分享一些关于如何阅读您的日志猫窗口的信息。

  1. 在logcat的窗口中,选择过滤器为“错误”
  2. 过滤后,在应用程序崩溃时,查看日志。
01-04 22:48:35.548: E/AndroidRuntime(28912): Caused by: java.lang.NullPointerException 
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.dapoaugury.channelappdemo.ChannelAppMainActivity.initializeMenu(ChannelAppMainActivity.java:151) 
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.dapoaugury.channelappdemo.ChannelAppMainActivity.onCreate(ChannelAppMainActivity.java:118) 

去了一行行,直到你看到 “引发的”

  • 线下术语,搜索您的应用程序包的名称。
  • 这里将提供您可能遇到问题的线路。一般来说,我会建议你彻底检查该方法以查找崩溃。
  • 知道方法名称后,设置一个调试点并在调试模式下运行您的应用程序。你会很容易发现问题。
  • 希望这会有所帮助。

    +0

    感谢您的指导,这是非常有益的! – androidnoob 2015-01-04 15:29:21