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卡上的总存储空间大小跟空闲的存储空间大小就被计算出来了
分享到:
相关推荐
综上所述,获取Android手机SD卡存储信息的过程主要包括申请权限、判断SD卡状态、获取`StatFs`对象以及计算存储空间。开发者可以根据需求调整代码,比如添加错误处理机制,或者适配不同Android版本的差异。了解这些...
在Android平台上,获取SD卡(外部存储)信息是开发者经常需要进行的操作,这涉及到对文件系统和设备存储的理解。在Android系统中,SD卡通常被视为外部存储,用于扩展设备的存储空间,允许用户存储多媒体文件、应用...
当前只能用Environment.getExternalStorageDirectory()获取内置的SD卡路径,因为不同机型的系统SD卡的路径不相同,我拿三星s3试试,全是都只找到内置SD卡,后来通过获取系统进程名字找到内存卡路径。
Android获取储存信息以及内存信息可以用adb命令查看。 adb查看系统内存信息以及储存信息: 命令:adb shell cat /proc/meminfo 代码: private static final String FILENAME_PROC_MEMINFO = /proc/meminfo; /*...
本文将详细讲解如何在Android的WebView中加载并显示SD卡上的图片,以及如何解决自Android 4.4(KitKat)版本后出现的WebView无法直接访问SD卡图片的问题。 首先,我们需要理解Android 4.4引入的安全限制。从KitKat...
在Android系统中,读取外置和内置存储卡的路径以及获取它们的大小是常见的需求,尤其是在处理多媒体文件或者管理应用程序数据时。本教程将详细解释如何实现这一功能。 首先,我们要了解Android对存储卡的分类。在...
在Android系统中,访问手机内存和存储卡涉及到了文件系统的操作,这包括读取、写入、创建和删除文件。Android设备通常拥有两种类型的存储空间:内部存储(Internal Storage)和外部存储(External Storage),也就是...
在Android系统中,获取SD卡或TF卡(外部存储卡)以及内置存储卡的路径是开发者经常遇到的任务,尤其在处理文件操作时。本示例提供了优化的方法,以提高读取速度,这对于处理大量数据或者频繁访问存储卡的应用至关...
在Android系统中,获取SD卡(外部存储)的内存空间信息是开发者经常遇到的需求,这有助于监控应用的存储使用情况,防止因存储不足导致的问题。本文将基于标题和描述提供的内容,详细介绍如何在Android中获取SD卡的...
在Android开发中,有时我们需要将预置的数据库文件与应用一起发布,并在应用程序首次启动时将其复制到外部存储(如SD卡)或内部存储(内存)中,以便于后续的操作和使用。这样的需求通常出现在那些需要提供初始数据...
在Android平台上,获取设备的系统信息是开发过程中常见的需求,这包括屏幕参数、内存状态、IMEI号码、存储空间、传感器信息以及CPU详情等。以下将详细解释如何获取这些信息。 1. **屏幕信息**: - 屏幕尺寸:通过`...
`SmsManager`提供了多种方法,如`getAllMessagesFromSIM()`和`getMessagesFromUri()`,用于获取存储在SIM卡或手机内存中的短信。 3. **权限申请**:在Android 6.0(API级别23)及以上版本,运行时权限管理变得严格...
这篇博客“Android 读取SD卡中文件以及内存使用情况”详细介绍了如何在Android应用中读取SD卡上的文件以及监控内存使用状态。这篇文章将对这些关键知识点进行深入探讨。 首先,Android系统的外部存储提供了一个用于...
在Android 6.0(API级别23)及更高版本中,系统对存储访问进行了权限管理,因此获取外置SD卡路径前,需要确保在`AndroidManifest.xml`中添加了相应的权限: ```xml <uses-permission android:name="android....
在Android系统中,获取SD卡(也称为外部存储)的内存容量是一项常见的需求,尤其是在开发移动应用时。这里我们将详细探讨如何实现这个功能,并深入了解手机内存容量的相关知识。 首先,我们要明白Android设备上的...
在Android系统中,SD卡(Secure Digital Card)是常见的外部存储设备,用于扩展手机或平板电脑的存储空间。SD卡序列号是每张SD卡特有的一个唯一标识符,由制造商在生产时分配,通常用于验证卡的身份和合法性。在某些...
在Android中,通常将手机内部的可扩展存储称为“内部存储”(Internal Storage),而插入手机的外部Micro SD卡被称为“外部存储”(External Storage)。早期版本的Android区分了“可卸载”的外部存储(Removable ...
总结来说,"Android手机SD卡文件浏览器"是Android系统中不可或缺的一部分,它的实现涉及到文件系统的操作、用户界面的设计、权限管理以及性能优化等多个方面。开发者需要理解Android的文件系统结构,熟悉Java I/O...
内部存储通常指的是设备自带的内存,而外部存储则通常指的是可移除的SD卡或者设备提供的模拟SD卡空间。 **内部存储** 内部存储是Android为每个应用提供私有的存储区域,它对于用户和其他应用是不可见的,提供了安全...
在Android开发中,有时我们需要将应用内部的资源文件,如配置文件、数据库文件或静态数据等,复制到手机的外部存储(内存或SD卡)以便于应用运行时使用。这个过程通常涉及到Android的文件系统操作和权限管理。下面将...