2013-02-14 139 views
-1

我正在構建Android音樂播放器應用程序。我完成了設計和編碼,但是當我在仿真器中運行它時,它給了我以下錯誤:無法運行Android應用程序(應用程序意外停止)

應用程序Droid Player(process 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。 DROI dplayer/com.droid.droidplayer.Player}: 顯示java.lang.NullPointerException

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

02-14 20:28:49.037:E/AndroidRuntime(383):在 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):在 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1024)

02-14 20:28:49.037:電子/ AndroidRuntime(383):在 android.os.Handler.dispatchMessage(Handler.java:99)

02-14 20:28:49.037:E/AndroidRuntime(383):在 android.os.Looper。環路(Looper.java:132)

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

02-14 20:28:49.037:E/AndroidRuntime(383):在 java.lang.reflect.Method.invokeNative(本機方法)

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

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

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

02-14 20:28:49.037:E/AndroidRuntime(383):在 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):在 com.droid.droidplayer.SongsManager.getPlayList(SongsManager.java:25)

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

02-14 20:28:49.037:E/AndroidRuntime(383):在 機器人.app.Activity.performCreate(Activity.java:4397)

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

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

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

02-14 20:29:27.166:I /方法(383):發送信號。 PID:383 SIG:9

+1

什麼是SongsManager'其空的'線25 – codeMagic 2013-02-14 17:43:30

+0

您SongsManager.java添加到這篇文章,包括線數字。這將有所幫助。 – 2013-02-14 18:25:40

+0

@RotaryHeart http://www.4shared.com/rar/DiSPXwq6/DroidPlayer.html 此鏈接具有完整的源代碼。 – vishalkin 2013-02-14 20:56:44

回答

0

SongsManager的第25行的對象爲空。

+0

我在編寫java代碼時非常不好,請幫助我完成這個。 – vishalkin 2013-02-14 17:50:09

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. // SD卡路徑
  8. 最終字符串MEDIA_PATH =新的字符串( 「/ SD卡/」);
  9. private ArrayList> songsList = new ArrayList>();

  10. //構造
  11. 公共SongsManager(){

  12. }





  13. 公衆的ArrayList> getPlayList(){
  14. 文件首頁=新的文件(MEDIA_PATH);

  15. 如果(home.listFiles(新FileExtensionFilter())長度> 0。){
  16. 爲(文件的文件:home.listFiles(新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. 返回songsList;
  26. }




  27. 類FileExtensionFilter實現了FilenameFilter {
  28. 公共布爾接受(文件目錄,字符串名稱){
  29. 回報(name.endsWith(「。mp3」)|| name.endsWith(」。MP3" ));?
  30. }
  31. }
  32. }