標籤:dir package contex sdc pat 子類 nal sys file
Environment.getDataDirectory().getPath() : /data
Environment.getDownloadCacheDirectory().getPath() : /cache
Environment.getExternalStorageDirectory().getPath(): /mnt/sdcard
Environment.getRootDirectory().getPath() : /system
Context.getCacheDir().getPath() : /data/data/包名/cache
Context.getExternalCacheDir().getPath() : /mnt/sdcard/Android/data/包名/cache
Context.getFilesDir().getPath() : /data/data/包名/files
Context.getObbDir().getPath() : /mnt/sdcard/Android/obb/包名
Context.getPackageName() : 包名
Context.getPackageCodePath() : /data/app/應用程式名稱
Context.getPackageResourcePath() : /data/app/應用程式名稱
/data/data/cn.tony.app/files/這種路徑,可能是在包名為“cn.tony.app”的應用下,通過在Context的子類(Activity,Service等等)中調用getFilesDir所得到的。
而/mnt/sdcard/,應該是在4.0以下的android系統上,通過Environment類的getExternalStorageDirectory方法擷取的。
其實getExternalStorageDirectory這個方法,不如說是擷取預設儲存空間的。在不同版本不同設定的android系統上,指向的位置也不太一樣。比如在4.0以上的系統上,它一般指向“storage/sdcard0”(內建SD卡),但也有廠家或個人把它設定為“storage/sdcard1”(外置SD卡)。就像window,系統一般是裝在C盤,但裝在D盤上其實也可以。
擷取Android檔案路徑