2013-02-14 103 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. }