Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> 獲取Android手機中SD卡內存信息

獲取Android手機中SD卡內存信息

編輯:Android開發實例

SD卡作為手機的擴展存儲設備,在手機中充當硬盤角色,可以讓我們手機存放更多的數據以及多媒體等大體積文件。因此查看SD卡的內存就跟我們查看硬盤的剩余空間一樣,是我們經常操作的一件事,那麼在Android開發中,我們如何能獲取SD卡的內存容量呢?接下來將做介紹。

 

首先,要獲取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卡上的總存儲空間大小跟空閒的存儲空間大小就被計算出來了。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved