Android私有数据存储,Android获取私有存储目录
(1)手機存儲目錄
//通過context對象獲取私有目錄,/data/data/packagename/filse
context.getFileDir().getPath()
(2)SD卡目錄
1.權(quán)限問題:
WRITE_EXTERNAL_STORAGE
2.硬性編碼問題:通過 Environment可以獲取sdcard的路徑
Environment.getExternalStorageDirectory().getPath();
3.使用前需要判斷sdcard狀態(tài)
if(!Environment.getExternalStorageState().equals( Environment.MEDIA_MOUN
TED)){
//sdcard狀態(tài)是沒有掛載的情況
Toast.makeText(mContext, "sdcard不存在或未掛載", Toast.LENGTH_SHORT).show();
return ;
}
4.需要判斷sdcard剩余空間
//判斷sdcard存儲空間是否滿足文件的存儲
File sdcard_filedir = Environment.getExternalStorageDirectory();//得到sdcard的目錄作為一個文件對象
long usableSpace = sdcard_filedir.getUsableSpace();//獲取文件目錄對象剩余空間
long totalSpace = sdcard_filedir.getTotalSpace();
//將一個long類型的文件大小格式化成用戶可以看懂的M,G字符串
String usableSpace_str = Formatter.formatFileSize(mContext, usableSpace);
String totalSpace_str = Formatter.formatFileSize(mContext, totalSpace);
if(usableSpace < 1024 * 1024 * 200){//判斷剩余空間是否小于200M
Toast.makeText(mContext, "sdcard剩余空間不足,無法滿足下載;剩余空間為:"+usableSpace_str, Toast.LENGTH_SHORT).show();
return ;
}
/data/data: context.getFileDir().getPath();
是一個應(yīng)用程序的私有目錄,只有當(dāng)前應(yīng)用程序有權(quán)限訪問讀寫,其他應(yīng)用無權(quán)限訪問。一些安全性要求比較高的數(shù)據(jù)存放在該目錄,一般用來存放size比較小的數(shù)據(jù)。
/sdcard:??Enviroment.getExternalStorageDirectory().getPath();
是一個外部存儲目錄,只用應(yīng)用聲明了的一個權(quán)限,就可以訪問讀寫sdcard目錄;所以一般用來存放一些安全性不高的數(shù)據(jù),文件size比較大的數(shù)據(jù)。
總結(jié)
以上是生活随笔為你收集整理的Android私有数据存储,Android获取私有存储目录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EPSON晶振在电路设计中的接地问题分析
- 下一篇: Hangfire Pro 2022-08