Skip to content Skip to sidebar Skip to footer

Debug Nullpointerexception

I am building a music player. The error occurs when launching the application. I have searched the term 'Caused by: java.lang.NullPointerException' on Google, finding out the cause

Solution 1:

If your NullPointerException is being caused by this

home.listFiles(newFileExtensionFilter()).length

then

home.listFiles(newFileExtensionFilter())

seems to be null. This is likely because the listFiles function can return null:

An array of abstract pathnames denoting the files and directories in the directory denoted by this abstract pathname. The array will be empty if the directory is empty. Returns null if this abstract pathname does not denote a directory, or if an I/O error occurs.

Which implies that MEDIA_PATH is not the directory path that you think it is.

The out-of-bounds exception is caused by this line:

mp.setDataSource(songsList.get(songIndex).get("songPath"));

Meaning songIndex does not exist in songsList. As stated in your exception:

Caused by: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0

You can't reference element 0, which is the first element, in a zero-element list.

Since songsList is being added to only as a result of the data found in the MEDIA_PATH directory, and MEDIA_PATH is somehow erroneous... Hopefully when you solve the problem with MEDIA_PATH, both problems will be solved.

Solution 2:

Please replace your code like this:

if (home.listFiles(new FileExtensionFilter())!=null && home.listFiles(new FileExtensionFilter()).length > 0)
{

}

and check listFiles is containg no list. i.e. either your filepath is not not proper and file doesn't contain any song. Please make sure your sdcard conatins any .mp3 file.

Solution 3:

I'm pretty sure that in Manifest you forgot the permission to READ EXTERNAL STORAGE, and that's why you got the IndexOutOfBoundsException.

Post a Comment for "Debug Nullpointerexception"