无法运行Android应用程序(应用程序意外停止)

时间:2013-02-14 17:39:11

标签: android android-logcat

我正在制作Android音乐播放器应用。我完成了设计和编码,但是当我在模拟器中运行它时,它给了我以下错误:

应用程序Droid Player(进程com.droid.droidplayer)意外停止。请再试一次。

以下是源代码链接: Source code

源代码中没有错误,但在运行应用程序后,它会在LogCat中显示错误:

  

02-14 20:28:49.037:E / AndroidRuntime(383):致命异常:主

     

02-14 20:28:49.037:E / AndroidRuntime(383):java.lang.RuntimeException:   无法开始活动   ComponentInfo {com.droid.droidplayer / com.droid.droidplayer.Player}:   显示java.lang.NullPointerException

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.app.ActivityThread.access $ 500(ActivityThread.java:122)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1024)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.os.Handler.dispatchMessage(Handler.java:99)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.os.Looper.loop(Looper.java:132)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.app.ActivityThread.main(ActivityThread.java:4123)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   java.lang.reflect.Method.invokeNative(Native Method)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   java.lang.reflect.Method.invoke(Method.java:491)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   dalvik.system.NativeStart.main(原生方法)

     

02-14 20:28:49.037:E / AndroidRuntime(383):引起:   显示java.lang.NullPointerException

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   com.droid.droidplayer.SongsManager.getPlayList(SongsManager.java:25)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   com.droid.droidplayer.Player.onCreate(Player.java:76)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.app.Activity.performCreate(Activity.java:4397)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)

     

02-14 20:28:49.037:E / AndroidRuntime(383):at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)

     

02-14 20:28:49.037:E / AndroidRuntime(383):... 11更多

     

02-14 20:29:27.166:I / Process(383):发送信号。 PID:383 SIG:9

2 个答案:

答案 0 :(得分:0)

SongsManager第25行的对象为null。

答案 1 :(得分:0)

  1. package com.droid.droidplayer;

  2. import java.io.File;
  3. import java.io.FilenameFilter;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;

  6. 公共类SongsManager {
  7. // SDCard Path
  8. final String MEDIA_PATH = new String(“/ sdcard /”);
  9. private ArrayList> songsList = new ArrayList>();

  10. //构造函数
  11. public SongsManager(){

  12. }





  13. public ArrayList> getPlayList(){
  14. File home = new File(MEDIA_PATH);

  15. if(home.listFiles(new FileExtensionFilter())。length> 0){
  16. for(文件文件:home.listFiles(new FileExtensionFilter())){
  17. HashMap song = new HashMap();
  18. song.put(“songTitle”,file.getName()。substring(0(file.getName()。length() - 4)));
  19. song.put(“songPath”,file.getPath());

  20. //将每首歌曲添加到SongList
  21. songsList.add(歌曲);
  22. }
  23. }
  24. //返回歌曲列表数组
  25. return songsList;
  26. }




  27. class FileExtensionFilter实现FilenameFilter {
  28. public boolean accept(File dir,String name){
  29. return(name.endsWith(“。mp3”)|| name.endsWith(“。MP3”));
  30. }
  31. }
  32. }