`

获取手机外部存储卡的剩余空间

 
阅读更多

private void showSize()
  {
    /* 将TextView及ProgressBar设定为空值及0 */
    myTextView.setText(""); myProgressBar.setProgress(0);
    /* 判断记忆卡是否插入 */
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
    {
      /* 取得SD CARD档案路径一般是/sdcard */
      File path = Environment.getExternalStorageDirectory();
      /* StatFs看文件系统空间使用状况 */
      StatFs statFs = new StatFs(path.getPath());
      /* Block的size */
      long blockSize = statFs.getBlockSize();
      /* 总Block数量 */
      long totalBlocks = statFs.getBlockCount();
      /* 已使用的Block数量 */
      long availableBlocks = statFs.getAvailableBlocks();
      String[] total = fileSize(totalBlocks * blockSize);
      String[] available = fileSize(availableBlocks * blockSize);
      /* getMax取得在main.xml里ProgressBar设定的最大值 */
      int ss = Integer.parseInt(available[0]) * myProgressBar.getMax() / Integer.parseInt(total[0]);
      myProgressBar.setProgress(ss);
      String text = "总共" + total[0] + total[1] + "\n"; text += "可用" + available[0] + available[1];
      myTextView.setText(text); }
    else if (Environment.getExternalStorageState().equals( Environment.MEDIA_REMOVED))
    {
      String text = "SD CARD已移除"; myTextView.setText(text);
      }
    }
  /* 回传为字符串数组[0]为大小[1]为单位KB或MB */
  private String[] fileSize(long size)
  {
    String str = "";
    if (size >= 1024)
    {
      str = "KB";
      size /= 1024;
      if (size >= 1024)
      {
        str = "MB";
        size /= 1024;
        }
      }
    DecimalFormat formatter = new DecimalFormat();
    /* 每3个数字用,分隔如:1,000 */
    formatter.setGroupingSize(3);
    String result[] = new String[2];
    result[0] = formatter.format(size);
    result[1] = str; return result;
    }

分享到:
评论

相关推荐

    获取手机剩余内部存储大小

    - 外部存储(External Storage):如果需要获取外部存储(如SD卡)的剩余空间,可以使用`Environment.getExternalStorageDirectory().getPath()`获取路径,然后同样创建`StatFs`对象进行计算。 - 注意权限:从...

    android 查询存储卡剩余容量 (Environment 加 StatFs)

    // 获取外部存储根目录 String path = Environment.getExternalStorageDirectory().getPath(); // 创建StatFs对象 StatFs statFs = new StatFs(path); // 计算剩余可用空间(单位:字节) long blockSize = ...

    安卓检查Sdcard剩余空间的示例

    以上就是如何在Android应用中检查SD卡剩余空间的完整过程。这个功能对于那些需要频繁写入数据到外部存储的应用来说至关重要,能有效防止因存储空间不足导致的异常情况。在实际项目中,除了检查剩余空间,还应考虑...

    Android之获取手机内部及sdcard存储空间的方法

    // 获取SD卡剩余空间 @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) public static long getAvailableExternalMemorySize() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { StatFs ...

    Android开发之系统信息【1】——获取Android手机中SD卡存储信息

    `<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>` 这行代码表示应用请求写入外部存储(包括SD卡)的权限。从Android 6.0(API级别23)开始,系统会要求用户在运行...

    获取SD卡的剩余容量1

    Log.d("Test", "SD卡剩余空间:" + availableSpace + " 字节"); } else { Log.e("Test", "无法获取SD卡路径!"); } } ``` 以上就是关于如何在Android应用程序中获取SD卡剩余容量的详细介绍。通过这些方法,你...

    获取sd卡的剩余容量

    在Android系统中,获取SD卡(也称为外部存储)的剩余容量是开发过程中常见的需求,尤其是在涉及文件存储或管理的应用程序中。SD卡的剩余空间信息对于用户来说至关重要,因为它可以提示用户是否有足够的空间进行下载...

    Android检测手机中存储卡及剩余空间大小的方法(基于Environment,StatFs及DecimalFormat)

    在Android开发中,有时我们需要获取设备的存储信息,例如检测手机中存储卡的状态以及剩余空间大小。本篇文章将详细介绍如何使用`Environment`、`StatFs`和`DecimalFormat`这三个类来实现这一功能。 首先,`...

    Android编程获取SD卡路径及剩余容量的方法

    在Android平台上,获取SD卡(外部存储)的路径和剩余容量是常见的需求,尤其是在开发涉及文件操作的应用时。本文将详细讲解如何实现这一功能,并提供相关的代码示例。 首先,要获取SD卡的状态,以便判断它是否可用...

    06读取sd卡空间大小

    首先,我们需要获取外部存储的状态,以确认SD卡是否已挂载并可读写。这可以通过`Environment.getExternalStorageState()`方法实现。返回值可能包括`MEDIA_MOUNTED`(表示已挂载并可读写)、`MEDIA_MOUNTED_READ_ONLY...

    android 信号强度检测和SD卡存储空间检测

    在实际应用中,你可以结合这两个功能,例如当SD卡剩余空间不足时提醒用户清理空间,或者根据网络信号强弱优化数据下载策略。在提供的压缩包文件中,sd.txt和其他文本文档可能包含了具体的代码实现或进一步的解释,但...

    获取SD手机内存容量

    System.out.println("SD卡剩余空间: " + freeSpaceMb + " MB"); } else { System.out.println("无法获取SD卡信息,可能未挂载或无SD卡"); } } } ``` 这段代码首先通过`Environment....

    android 获取sd卡状态

    在Android开发中,获取外部存储(如SD卡)的状态是非常重要的功能之一,这对于确保应用程序能够正确地读写数据至关重要。本文将详细介绍如何在Android应用中实现这一功能,并深入探讨相关代码背后的逻辑。 #### 1. ...

    MemoryStorage:学习获取SD卡的总内存容量和剩余内存容量,还有手机本身内存和剩余内存的方法

    2. 获取外部存储(SD卡)信息: 对于外部存储,Android提供了`getExternalStorageDirectory()`方法来获取SD卡的根目录。获取SD卡的总容量和可用容量的步骤与内部存储类似: ```java // 获取外部存储的根目录 File ...

    Android获取SD卡信息的接口

    在Android系统中,获取SD卡(外部存储)信息是开发者常用的功能之一,这通常涉及到读取可用存储空间、总容量等信息。本DEMO提供了一种实现方式,确保了兼容性,可以在多种不同类型的手机上运行。下面我们将详细讨论...

    仿QQ音乐,检测标准SD卡和扩展SD卡总大小和容量

    这段代码遍历了所有存储卷,通过`isRemovable()`方法判断是否为扩展SD卡,然后分别获取每个SD卡的总大小(`getMaxCapacity()`)和剩余空间(`getFreeSpace()`)。注意,这些方法返回的单位是字节(B),实际使用时...

    Android如何获取SDCard_内存

    - **getExternalStorageDirectory()**:获取外部存储目录(即SD卡)。 - **getExternalStoragePublicDirectory(String type)**:获取特定类型的公共外部存储目录。 - **getExternalStorageState()**:获取外部存储...

    07检查SD卡状态

    5. **计算SD卡剩余空间** 可以通过`StatFs`类获取SD卡的文件系统统计信息,如总块数、自由块数等。创建`StatFs`实例传入SD卡路径,然后调用`getBlockCount()`和`getFreeBlocks()`获取相应数值,再通过`getBlockSize...

    MemoryDemo

    - `getExternalStorageDirectory()`获取外部存储根目录,如果存在T卡,这通常是它。 - 同样,使用`StatFs`类获取T卡的统计信息。 **6. `MemoryDemo`项目** `MemoryDemo`项目可能包含了示例代码,演示如何使用上述...

    Android手机管理工具类详解

    - `getSDFreeSize()` 和 `getSDAllSize()` 分别获取SD卡的剩余空间和总空间大小,对存储管理很有用。 5. **设备类型**: - `isTablet()` 判断设备是否为平板电脑,通常基于屏幕尺寸和密度。 6. **应用管理**: ...

Global site tag (gtag.js) - Google Analytics