列出适用于Android的SD卡上的某些文件的视图

时间:2013-04-10 17:17:29

标签: android

我正在尝试创建一个MP3播放器作为Android应用程序,我希望它会自动找到我的My Files文件夹中的任何.mp3文件。我不希望有一个指向音乐文件夹的直接路径,因为我将包含一个指向Dropbox的链接,我可以在其中下载已经存在的.mp3文件。这将转到一个下载文件夹,我希望我的MP3播放器能够为我选择它。

我怎么能这样做?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:-1)

此方法应该有效

private void searchMusic() {

    int count = 0;
    ArrayList<String> musicFiles;
    LinkedList<File> stack = new LinkedList<File>();
    File directory = new File(Environment.getExternalStorageDirectory()
            .getAbsolutePath());
    stack.add(directory);
    while (!stack.isEmpty()) {
        File fmusic = stack.removeLast();
        File[] files = null;
        try {
            files = fmusic.listFiles();
        } catch (Exception e) {
        }
        musicFiles = new ArrayList<String>();
        if (files != null) {
            for (File folder : files) {

                if (folder.getName().endsWith(".mp3")
                        || folder.getName().endsWith(".ogg")
                        || folder.getName().endsWith(".wav")
                        && folder.isFile() && folder.canRead()
                        && !folder.getName().startsWith("._")) {

                    count++;
                    musicFiles.add(folder.getPath());
                }

                try {
                    if (folder.isDirectory()
                            && !FileUtils.isSymlink(folder)) {
                        stack.addFirst(folder);

                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        }
    }
    return;

}