2013-09-27 21 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是「必要」的想法的人來說,這主要是一個註釋。
相關問題