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();
计算总空间大小和空闲的空间大小
存储空间大小跟空闲的存储空间大小就被计算出来了。
来自:http://www.oschina.net/question/54100_33506
public long getAvailaleSize(){
File path = Environment.getExternalStorageDirectory(); //取得sdcard文件路径
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return availableBlocks * blockSize;
//(availableBlocks * blockSize)/1024 KIB 单位
//(availableBlocks * blockSize)/1024 /1024 MIB单位
}
public long getAllSize(){
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getBlockCount();
return availableBlocks * blockSize;
}
相关推荐
综上所述,获取Android手机SD卡存储信息的过程主要包括申请权限、判断SD卡状态、获取`StatFs`对象以及计算存储空间。开发者可以根据需求调整代码,比如添加错误处理机制,或者适配不同Android版本的差异。了解这些...
- 外部存储(External Storage):如果需要获取外部存储(如SD卡)的剩余空间,可以使用`Environment.getExternalStorageDirectory().getPath()`获取路径,然后同样创建`StatFs`对象进行计算。 - 注意权限:从...
Android获取储存信息以及内存信息可以用adb命令查看。 adb查看系统内存信息以及储存信息: 命令:adb shell cat /proc/meminfo 代码: private static final String FILENAME_PROC_MEMINFO = /proc/meminfo; /*...
在Android系统中,获取SD卡(外部存储)信息是开发者常用的功能之一,这通常涉及到读取可用存储空间、总容量等信息。本DEMO提供了一种实现方式,确保了兼容性,可以在多种不同类型的手机上运行。下面我们将详细讨论...
在Android应用开发中,了解如何获取手机内部存储和SD卡(外部存储)的可用空间是非常重要的。这不仅可以帮助开发者确保应用程序能正常运行,避免因存储空间不足导致的问题,还可以优化用户体验,合理分配资源。以下...
在Android开发中,获取外部存储(如SD卡)的状态是非常重要的功能之一,这对于确保应用程序能够正确地读写数据至关重要。本文将详细介绍如何在Android应用中实现这一功能,并深入探讨相关代码背后的逻辑。 #### 1. ...
Android获取手机内置存储SDCard的使用情况,包括SD卡容量、已使用大小,剩余容量大小等信息,将获取的过程写入按钮事件中,单击按钮后,获取SD卡容量信息。 if(Environment.getExternalStorageState().equals...
在Android系统中,开发者可以通过Java API来获取存储卡(外部存储)的剩余容量信息。这里主要涉及两个关键类:`Environment`和`StatFs`。`Environment`是Android提供的一个系统类,它提供了与文件系统相关的常量和...
在Android开发中,对设备的信号强度检测以及SD卡存储空间的监测是非常关键的功能,尤其对于需要持续在线或大量数据交换的应用来说。本教程将详细讲解如何实现这两个功能。 首先,我们来探讨如何检测Android设备的...
本文实例讲述了Android检测手机中存储卡及剩余空间大小的方法。分享给大家供大家参考,具体如下: Android中Environment可用来检测手机中是否安装有存储卡以及文件存储路径等。StatFs可以获取存储卡的空间大小以及...
在Android平台上,获取SD卡(外部存储)的路径和剩余容量是常见的需求,尤其是在开发涉及文件操作的应用时。本文将详细讲解如何实现这一功能,并提供相关的代码示例。 首先,要获取SD卡的状态,以便判断它是否可用...
Android设备获取存储卡路径的源程序,高于3.2版本时,用getVolumePaths通过反射获取,否则通过System.getenv("SECONDARY_STORAGE")获取,再通过查询剩余空间确定是否插有SD卡
在Android开发过程中,经常需要检测外部存储(如SD卡)的状态及其剩余空间,以便于进行相应的数据管理和优化。本文将详细介绍如何通过编程手段来实现这一功能。 #### 一、环境准备 在开始之前,请确保已经具备以下...
SDCard存储卡在 Android 手机上是可以随时插拔的,每次的动作都会引起Android系统ACTION_BROADCAST,本例子将计算出 SDCard 的剩余容量和总容量。供测试的sd卡中存了两首歌和一个30M的文件,现在检测剩余的空间正好...
在Android中,`Environment`类提供了对外部存储的访问,我们可以使用`getExternalStorageDirectory()`方法来获取SD卡的根路径: ```java File externalStorageDir = Environment.getExternalStorageDirectory(); ``...
在Android系统中,获取SD卡(也称为外部存储)的剩余容量是开发过程中常见的需求,尤其是在涉及文件存储或管理的应用程序中。SD卡的剩余空间信息对于用户来说至关重要,因为它可以提示用户是否有足够的空间进行下载...
获取手机存储空间值 private String getInternalMemoryPath() { return Environment.getDataDirectory().getPath(); } /** * * @return 内置sd卡路径 */ private String getExternalMemoryPath() { ...
在Android开发中,获取SD卡路径以及查询SDCard内存大小是常见的需求,这对于存储和管理应用程序的数据至关重要。本文将详细讲解如何实现这一功能,并介绍相关的类和方法。 首先,我们来了解一下获取SD卡路径的两种...
在Android系统中,读取SD卡(Secure Digital Card)的空间大小是开发者进行文件管理或存储操作时必须掌握的一项技能。SD卡通常用于扩展设备的存储容量,为应用程序、媒体文件和其他数据提供额外的存储空间。以下是...