-1

I am working on Building up Android Music Player app. I finished designing and coding but when i run it in Emulator it gives me following error :

The application Droid Player (process com.droid.droidplayer) has stopped unexpectedly. Please try again.

Here is the source code link: Source code

There are no errors in source code but after running the app it shows errors in LogCat:

02-14 20:28:49.037: E/AndroidRuntime(383): FATAL EXCEPTION: main

02-14 20:28:49.037: E/AndroidRuntime(383): java.lang.RuntimeException: Unable to start activity 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(Native Method)

02-14 20:28:49.037: E/AndroidRuntime(383): Caused by: 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 more

02-14 20:29:27.166: I/Process(383): Sending signal. PID: 383 SIG: 9

Justin Breitfeller
  • 13,737
  • 4
  • 39
  • 47
vishalkin
  • 1,175
  • 2
  • 12
  • 24

2 Answers2

0

An object at line 25 of your SongsManager is null.

Justin Breitfeller
  • 13,737
  • 4
  • 39
  • 47
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. public class SongsManager {
  7. // SDCard Path
  8. final String MEDIA_PATH = new String("/sdcard/");
  9. private ArrayList> songsList = new ArrayList>();

  10. // Constructor
  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 (File file : 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. // Adding each song to SongList
  21. songsList.add(song);
  22. }
  23. }
  24. // return songs list array
  25. return songsList;
  26. }




  27. class FileExtensionFilter implements FilenameFilter {
  28. public boolean accept(File dir, String name) {
  29. return (name.endsWith(".mp3") || name.endsWith(".MP3"));
  30. }
  31. }
  32. }
vishalkin
  • 1,175
  • 2
  • 12
  • 24