最長用到的就這三個位置
- /data/data/包名/
- /sdcard/Android/data/包名/
- /sdcard/xxx
前兩個是應(yīng)用內(nèi)部存儲, 會隨著app的卸載而自動刪除, sdcard中其他的文件夾不會自動刪除, 除非用戶手動刪除, 否則會一直存在, 換句話說就是垃圾.
Google官方建議把數(shù)據(jù)存儲在 /sdcard/Android/data/包名/ 下.
路徑獲取方法
前兩個應(yīng)用內(nèi)部存儲通過 Context 來獲取, 第三個作為外部存儲是通過 Environment 類來獲取. 注釋為返回值.
/data/data/包名/
context.getFilesDir(); // /data/data/包名/files
context.getCacheDir(); // /data/data/包名/cache
/sdcard/Android/data/包名/
context.getExternalFilesDir(); // /sdcard/Android/data/包名/files
context.getExternalCacheDir(); // /sdcard/Android/data/包名/cache
/sdcard/xxx
// /storage/emulated/0
Environment.getExternalStorageDirectory();
// /storage/emulated/0/DCIM, 另外還有MOVIE/MUSIC等很多種標(biāo)準(zhǔn)路徑
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
注意, 根據(jù)源碼文檔中說明, 獲取外部存儲時, 有可能會因?yàn)楦鞣N問題導(dǎo)致獲取失敗, 建議先使用 getExternalStorageState 來判斷外部存儲狀態(tài), 如果已掛載的話再存儲.
作者:嘰哩嘰哩雞
來源:CSDN
原文:https://blog.csdn.net/j550341130/article/details/80422250
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
歡迎掃碼加入QQ群一起學(xué)習(xí)討論。【QQ群:930039263】
