Android 相關(guān)文件路徑獲取及說(shuō)明

一、內(nèi)存的分類(lèi)

一般情況下,手機(jī)的內(nèi)存分類(lèi)有如下4類(lèi),分別是:

  1. 內(nèi)部存儲(chǔ)路徑
  2. 內(nèi)部緩存存儲(chǔ)路徑
  3. 外部存儲(chǔ)路徑
  4. 外部緩存存儲(chǔ)路徑

在部分手機(jī)上,某些手機(jī)制造商在定制rom的時(shí)候,會(huì)在內(nèi)部劃出一個(gè)內(nèi)部的SDCard路徑和內(nèi)部存儲(chǔ)路徑,當(dāng)插有SDCard的時(shí)候,就會(huì)多兩個(gè)文件路徑了。

二、文件路徑的獲取或說(shuō)明

1. 通過(guò)Environment獲取的

//  獲得根目錄/data (內(nèi)部存儲(chǔ)路徑)
Environment.getDataDirectory().getPath();
// 獲得緩存目錄/cache                                 
Environment.getDownloadCacheDirectory().getPath() ;
// 獲得SD卡目錄/mnt/sdcard(獲取的是手機(jī)外置sd卡的路徑)   
Environment.getExternalStorageDirectory().getPath() ;
// 獲得SD卡目錄/mnt/sdcard/type(獲取的是手機(jī)外置sd卡的指定文件的路徑)   
Environment.getExternalStoragePublicDirectory(type);
Envinonment 類(lèi)提供諸多 type 參數(shù)的常量,比如:
DIRECTORY_MUSIC:Music
DIRECTORY_MOVIES:Movies
DIRECTORY_PICTURES:Pictures
DIRECTORY_DOWNLOADS:Download
//獲得系統(tǒng)目錄/system                
Environment.getRootDirectory().getPath(); 

Environment.getDataDirectory() = /data
Environment.getDownloadCacheDirectory() = /cache
Environment.getExternalStorageDirectory() = /mnt/sdcard
Environment.getExternalStoragePublicDirectory(“test”) = /mnt/sdcard/test
Environment.getRootDirectory() = /system                              

2. 通過(guò)Context獲取的

Context.getDatabasePath()                                                     
返回通過(guò)Context.openOrCreateDatabase 創(chuàng)建的數(shù)據(jù)庫(kù)文件
Context.getCacheDir().getPath() :                                          
用于獲取APP的cache目錄 /data/data/<application package>/cache目錄
Context.getExternalCacheDir().getPath()  : 
用于獲取APP的在SD卡中的cache目錄/mnt/sdcard/Android/data/<application package>/cache
Context.getFilesDir().getPath()  : 
用于獲取APP的files目錄 /data/data/<application package>/files
Context.getObbDir().getPath(): 
用于獲取APP SDK中的obb目錄 /mnt/sdcard/Android/obb/<application package>
Context.getPackageName() : 
用于獲取APP的所在包目錄
Context.getPackageCodePath()  : 
來(lái)獲得當(dāng)前應(yīng)用程序?qū)?yīng)的 apk 文件的路徑
Context.getPackageResourcePath() :
 獲取該程序的安裝包路徑

getPackageCodePath() = /data/app/com.my.app-1.apk
getPackageResourcePath() = /data/app/com.my.app-1.apk
getCacheDir() = /data/data/com.my.app/cache
getDatabasePath(“test”) = /data/data/com.my.app/databases/test
getDir(“test”, Context.MODE_PRIVATE) = /data/data/com.my.app/app_test
getExternalCacheDir() = /mnt/sdcard/Android/data/com.my.app/cache
getExternalFilesDir(“test”) = /mnt/sdcard/Android/data/com.my.app/files/test
getExternalFilesDir(null) = /mnt/sdcard/Android/data/com.my.app/files
getFilesDir() = /data/data/com.my.app/files

相關(guān)推薦:
https://blog.csdn.net/iromkoear/article/details/71279663

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容