1

我正在构建一个音乐播放器应用程序。我希望它自动从我的 sdcard 加载歌曲,但它不工作。

为了使它工作,我必须声明一个特定的路径,但其他人的手机可能有不同的音乐文件夹,因此有不同的路径。

在这些手机上,如果我声明了一条路径,那么我的应用程序将无法加载他们的歌曲。

我的应用程序是否可以自动加载用户 SD 卡上的所有歌曲?

我的代码在这里..

public class SongManager {
//khai bao duong dan toi sdcard
public static final String MEDIA_PATH = new String("sdcard/ZingMP3");
private ArrayList<HashMap<String, String>> songList = new ArrayList<HashMap<String,String>>();
// khai bao contructor
public  SongManager()
{

}
public ArrayList<HashMap<String, String>> getPlayList()
{
    File home = new File(MEDIA_PATH);

     if (home.listFiles(new FileExtensionFilter()).length > 0)
         for (File file : home.listFiles(new FileExtensionFilter()))
     {
         HashMap<String, String> song = new HashMap<String, String>();
         song.put("songTitle", file.getName().substring(0,(file.getName().length()-4)));
         song.put("songPath", file.getPath());
         songList.add(song);
     }

    return songList;



}
class FileExtensionFilter implements FilenameFilter {
    public boolean accept(File dir, String name) {
        return (name.endsWith(".mp3") || name.endsWith(".MP3"));
    }
}

}
4

0 回答 0