在 Android Studio 中制作音乐播放器应用时发现“NullPointerException”

"NullPointerException" found while making a Music Player app in Android Studio

提问人:Hayat Mamud 提问时间:12/4/2022 最后编辑:Hayat Mamud 更新时间:12/4/2022 访问量:62

问:

我正在制作一个“音乐播放器应用程序”,在那里我遇到了“NullPointerException”错误,因为歌曲路径的值为 null,应用程序崩溃。如果我添加“if null”子句,应用程序不会崩溃,但不会显示音乐列表。请帮帮我,我被困住了!

  Caused by: java.lang.NullPointerException: Attempt to get length of null array
        at com.example.shplayer.MainActivity.findSong(MainActivity.java:68)
        at com.example.shplayer.MainActivity.displaySongs(MainActivity.java:88)
        at com.example.shplayer.MainActivity$1.onPermissionGranted(MainActivity.java:46)
        at com.karumi.dexter.MultiplePermissionsListenerToPermissionListenerAdapter.onPermissionsChecked(Unknown Source:35)

代码中最有可能出现问题的部分——

public ArrayList<File> findSong (File file)
{
    ArrayList<File> arrayList = new ArrayList<>();

    File[] files = file.listFiles();


    for (File singlefile: files)
    {
        if (singlefile.isDirectory() && !singlefile.isHidden())
        {
            arrayList.addAll(findSong(singlefile));
        }
        else {
            if (singlefile.getName().endsWith(".mp3") || singlefile.getName().endsWith(".wav"))
            {
                arrayList.add(singlefile);
            }
        }
    }
    return arrayList;


}

请给我处理此空指针异常的解决方案,我将能够看到音乐列表。

android android-studio 错误处理 nullpointerexception android-music-player

评论

0赞 CommonsWare 12/4/2022
引用 listFiles() 的文档:“ 如果此抽象路径名不表示目录,或者发生 I/O 错误,则返回。请查询以查找可以播放的音频内容。nullMediaStore

答: 暂无答案