Android文件结构:如何访问存储的mp3文件?

Android文件结构:如何访问存储的mp3文件?,android,Android,我正在为android手机Nexus5制作一个应用程序。我希望我的应用程序访问已存在的名为Music的文件夹,即通过usb连接时拖放音乐文件的音乐文件夹 我的windows 7计算机上的路径是:computer\Nexus 5\Internal storage\Music 它说的是windows路径中的内部存储,但就android编程而言,这是内部存储还是外部存储?这似乎是一个愚蠢的问题,但据我所知,音乐文件夹不应该是特定于应用程序的文件夹 这让我不禁要问,为什么在使用此代码时,我总是得到所有文

我正在为android手机Nexus5制作一个应用程序。我希望我的应用程序访问已存在的名为Music的文件夹,即通过usb连接时拖放音乐文件的音乐文件夹

我的windows 7计算机上的路径是:computer\Nexus 5\Internal storage\Music

它说的是windows路径中的内部存储,但就android编程而言,这是内部存储还是外部存储?这似乎是一个愚蠢的问题,但据我所知,音乐文件夹不应该是特定于应用程序的文件夹

这让我不禁要问,为什么在使用此代码时,我总是得到所有文件的空指针:

File file = Environment.getExternalStorageDirectory();
File[] allFiles = file.listFiles();

除了前两种不直接进入音乐文件夹之外,这三种方法只是做完全相同的事情的三种不同方法


我对android的文件结构等都不熟悉,也没有经验,所以如果你能像和白痴说话一样回答,我将永远感激你

您看到的音乐文件夹是外部的,用Android术语来说

File musicDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC); File[] allFiles = musicDirectory.listFiles(); 这在理想情况下应该是可行的。您可以检查它返回的绝对路径是什么。然后,查看该文件夹是否有任何文件

String t = Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_MUSIC).getAbsolutePath();
System.out.println(t);

File f = new File(t);
File[] fs = f.listFiles();
for(int i=0;i<fs.length;i++){
    System.out.println(fs[i].getAbsolutePath());
}
File musicDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC); File[] allFiles = musicDirectory.listFiles();
String t = Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_MUSIC).getAbsolutePath();
System.out.println(t);

File f = new File(t);
File[] fs = f.listFiles();
for(int i=0;i<fs.length;i++){
    System.out.println(fs[i].getAbsolutePath());
}