弄清楚Android儲存路徑
在平時開發當中,我們可能會糾結什麼檔案該儲存在哪個目錄下面,要麼是不確定放哪,要麼是放多了以後放亂了。那就弄清楚哪些檔案存哪裡吧。
1.外部儲存(SD卡儲存)
- SD卡根目錄,目錄為/storage/emulated/0
Environment.getExternalStorageDirectory()
-
目錄為 /storage/emulated/0/Android/data/packagename/cache
(packagename為應用包名)
getExternalCacheDir()
- 目錄為 /storage/emulated/0/Android/data/packagename/files
getExternalFilesDir(null)
2.內部儲存(手機內部儲存)
- 目錄為 /data
getDataDir()
- 應用快取目錄/data/data/packagename/cache
getCacheDir()
- 應用檔案目錄 /data/data/packagename/files
getFilesDir()
總結:
getCacheDir和getFilesDir目錄必須是root的手機在檔案作業系統中才能看到。如果在應用程式中清空資料或者解除安裝應用,那這兩個目錄下的檔案也將會被清空。
getExternalCacheDir()與getExternalFilesDir(null)直接在檔案系統下Android/data/packagename能看到。如果應用解除安裝,該目錄下的檔案會被刪除掉。
Environment.getExternalStorageDirectory()目錄下建立的檔案不會因程式解除安裝被清除掉。