獲取Android手機中SD卡內存信息
SD卡作為手機的擴展存儲設備,在手機中充當硬盤角色,可以讓我們手機存放更多的數據以及多媒體等大體積文件。因此查看SD卡的內存就跟我們查看硬盤的剩余空間一樣,是我們經常操作的一件事,那么在Android開發中,我們如何能獲取SD卡的內存容量呢?接下來ATAAW.COM將做介紹。
首先,要獲取SD卡上面的信息,必須先對SD卡有訪問的權限,因此第一件事就是需要添加訪問擴展設備的權限。
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission>
其次,需要判斷手機上面SD卡是否插好,如果有SD卡的情況下,我們才可以訪問得到并獲取到它的相關信息,當然以下這個語句需要用if做判斷。
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)
取得sdcard文件路徑
File path = Environment.getExternalStorageDirectory();
StatFs statfs = new StatFs(path.getPath());
獲取block的SIZE
long blocSize = statfs.getBlockSize();
獲取BLOCK數量
long totalBlocks = statfs.getBlockCount();
空閑的Block的數量
long availaBlock = statfs.getAvailableBlocks();
計算總空間大小和空閑的空間大小
String[] total = csize(totalBlocks * blocSize);
String[] availale = csize(availaBlock * blocSize);
計算空間方法csize
String[] filesize(long size) {
String str = "";
if (size >= 1024) {
str = "KB";
size /= 1024;
if (size >= 1024) {
str = "MB";
size /= 1024;
}
}
DecimalFormat formatter = new DecimalFormat();
formatter.setGroupingSize(3);
String result[] = new String[2];
result[0] = formatter.format(size);
result[1] = str;
return result;
}
這樣,SD卡上的總存儲空間大小跟空閑的存儲空間大小就被計算出來了。文章
?
鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
???? 隱姓埋名/低調華麗/簡單生活/完美人生
posted on 2010-11-30 12:27 poetguo 閱讀(3068) 評論(0) 編輯 收藏 所屬分類: Android