1. 程式人生 > >Android常見檔案路徑介紹

Android常見檔案路徑介紹

關於Android中幾個常用檔案路徑的介紹

我記憶力不是太好,總是記不清,那幾個常用的檔案路徑的具體名字,所以就在此記錄一下,也方便不太清楚的同學查閱。

外部儲存,內部儲存的區別

  • Internal storage:

    • 總是可用的
    • 這裡的檔案預設只能被我們的app所訪問。
    • 當用戶解除安裝app的時候,系統會把internal內該app相關的檔案都清除乾淨。
    • Internal是我們在想確保不被使用者與其他app所訪問的最佳儲存區域。

  • External storage:

    • 並不總是可用的,因為使用者有時會通過USB儲存模式掛載外部儲存器,當取下掛載的這部分後,就無法對其進行訪問了。
    • 是大家都可以訪問的,因此儲存在這裡的檔案可能被其他程式訪問
    • 當用戶解除安裝您的應用時,只有在您通過 getExternalFilesDir() 將您的應用的檔案儲存在目錄中時,系統才會從此處刪除您的應用的檔案
    • External是在不需要嚴格的訪問許可權並且希望這些檔案能夠被其他app所共享或者是允許使用者通過電腦訪問時的最佳儲存區域。
  • 常見的獲取檔案路徑方法,對應的絕對路徑

  • getCacheDir().getAbsolutePath():

    /data/data/packagename/cache
  • getFilesDir().getAbsolutePath():

    /data/data/packagename/files
  • 以上為記憶體儲存路徑,以下為外部儲存路徑

  • getExternalCacheDir().getAbsolutePath():
    可以作為外部快取的路徑,解除安裝app時,會自動刪除檔案
    /storage/emulated/0/Android/data/packagename/cache
  • Environment.getExternalStorageDirectory().getAbsolutePath():

    /storage/emulated/0
  • Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath()):

    /storage/emulated/0/DCIM
  • getExternalFilesDir(Environment.DIRECTORY_PICTURES).getAbsolutePath:

    /storage/emulated/0/Android/data/packagename/files/Pictures