Android私有数据存储,Android获取私有存储目录
(1)手機存儲目錄
//通過context對象獲取私有目錄,/data/data/packagename/filse
context.getFileDir().getPath()
(2)SD卡目錄
1.權限問題:
WRITE_EXTERNAL_STORAGE
2.硬性編碼問題:通過 Environment可以獲取sdcard的路徑
Environment.getExternalStorageDirectory().getPath();
3.使用前需要判斷sdcard狀態
if(!Environment.getExternalStorageState().equals( Environment.MEDIA_MOUN
TED)){
//sdcard狀態是沒有掛載的情況
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();
是一個應用程序的私有目錄,只有當前應用程序有權限訪問讀寫,其他應用無權限訪問。一些安全性要求比較高的數據存放在該目錄,一般用來存放size比較小的數據。
/sdcard:??Enviroment.getExternalStorageDirectory().getPath();
是一個外部存儲目錄,只用應用聲明了的一個權限,就可以訪問讀寫sdcard目錄;所以一般用來存放一些安全性不高的數據,文件size比較大的數據。
總結
以上是生活随笔為你收集整理的Android私有数据存储,Android获取私有存储目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EPSON晶振在电路设计中的接地问题分析
- 下一篇: 2020作为一个资深的Android开发