不同型號(hào)
Android
手機(jī)SD
卡目錄可能不同,本文測(cè)試手機(jī)meizu note3
。
卸載 App 不刪除的文件
Environment.getExternalStorageDirectory()
File sdcard = Environment.getExternalStorageDirectory();
File dic_picture = new File(sdcard, "Pictures");
Log.i(TAG, dic_picture);
//返回結(jié)果
/storage/emulated/0/Pictures
-
Environment.getExternalStoragePublicDirectory(String type);
type
:系統(tǒng)提供的特定目錄名,以DIRECTORY
開(kāi)頭。例:Environment.DIRECTORY_DCIM
File dic_picture = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
Log.i(TAG, dic_picture);
//返回結(jié)果
/storage/emulated/0/Pictures
卸載 App 刪除的文件
該類文件通常只有對(duì)應(yīng)App
才能使用早像。
-
internal storage
手機(jī)自帶存儲(chǔ)區(qū)域,通常很小肖爵,shared preference
卢鹦、數(shù)據(jù)庫(kù)存在該目錄下
方法:Context.getFilesDir()
File fileDir = this.getFilesDir();
Log.i(TAG, fileDir);
//返回結(jié)果
/data/data/com.example.test/files
-
external storage
SD卡,通常很大
方法:Context.getExternalFilesDir(String type)
// ------------(1)----------
File fileDir = this.getExternalFilesDir(null);
Log.i(TAG, fileDir);
//返回結(jié)果
/storage/emulated/0/Android/data/com.example.test/files
// ------------(2)----------
File fileDir = this.getExternalFilesDir(`Movies`);
Log.i(TAG, fileDir);
//返回結(jié)果
/storage/emulated/0/Android/data/com.example.test/files/Movies
- 應(yīng)用程序緩存目錄
//獲取應(yīng)用程序自己的緩存目錄
context.getCacheDir()
//獲取應(yīng)用程序在外部存儲(chǔ)的存儲(chǔ)目錄
context.getExternalCacheDir()
判斷是否安裝SD卡##
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//已安裝SD卡
}
相關(guān)權(quán)限##
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>