2013-09-27 24 views
0

嗯,我一直都是新来的android开发,从此没有什么有趣的!
但我只是不明白,有一些地方,你只是不能帮助!
那么我实施搜索方法将被调用一次,它会列出存储在内存内部(SD卡)以及外部(ext_card)存在的特定类型的所有文件。
我该如何做到这一点?如何搜索特定类型的所有文件并列出它们?

回答

2

有几件事情你需要做。

为了过滤基于一个类型(或扩展名)的文件,你可以使用这样的的FilenameFilter:

public static final FilenameFilter FILENAME_FILTER = new FilenameFilter() 
{ 
    @Override 
    public boolean accept(File dir, String filename) 
    { 
     return filename.endsWith(FILE_EXTENSION); 
    } 
}; 

作为一个应用程序,你没有访问内部存储,只外部存储(不管是SD卡或不上,它仍然叫同样的事情。这可以通过使用

Environment.getExternalStorageDirectory().getAbsolutePath() 

此外,要确保你有你的清单文件正确的权限被引用。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
0

澄清:

  1. 你始终可以访问你的应用程序自身的内部存储空间,但你不能搜索另一个应用程序的内部存储。
  2. 在现代设备中,内部和外部存储的位置并不总是与存在SD卡有关。内部存储器始终在设备的内部存储器中执行。外部存储器可以在SD卡上实现,但现在很多设备都使用与内部存储器相同的内部存储器硬件。然而,该系统将内部和外部存储分开。如果设备在内部存储器中具有内部和外部存储器,则该卡是完全独立的并且仅存储媒体文件。
  3. 尽管您应该使用android.permission.READ_EXTERNAL_STORAGE,但请注意它尚未实施。对于读这个线程并且反对READ_EXTERNAL_STORAGE是“必要”的想法的人来说,这主要是一个注释。
相关问题