当前位置:首页 > Android

获取Android手机中SD卡存储信息

jsc10年前 (2016-04-05)Android3516

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();计算总空间大小和空闲的空间大小


储空间大小跟空闲的存储空间大小就被计算出来了。

/**
 * 取得空闲sd卡空间大小
 * @return
 */
 public long getAvailaleSize(){
     File path = Environment.getExternalStorageDirectory(); //取得sdcard文件路径
     StatFs stat = new StatFs(path.getPath());
     /*获取block的SIZE*/
     long blockSize = stat.getBlockSize();
     /*空闲的Block的数量*/
     long availableBlocks = stat.getAvailableBlocks();
     /* 返回bit大小值*/
     return availableBlocks * blockSize;
     //(availableBlocks * blockSize)/1024      KIB 单位
     //(availableBlocks * blockSize)/1024 /1024  MIB单位
 
 }
        
/**
 * SD卡大小
 * @return
 */
 public long getAllSize(){
           File path = Environment.getExternalStorageDirectory();
           StatFs stat = new StatFs(path.getPath());
           /*获取block的SIZE*/
           long blockSize = stat.getBlockSize();
           /*块数量*/
           long availableBlocks = stat.getBlockCount();
           /* 返回bit大小值*/
           return availableBlocks * blockSize;
 }

扫描二维码推送至手机访问。

版权声明:本文由微小站发布,如需转载请注明出处。

本文链接:https://jsc0.com/post/64.html

标签: SD
分享给朋友:

“获取Android手机中SD卡存储信息” 的相关文章

Android中使用PULL方式解析XML文件

Android中使用PULL方式解析XML文件

      Pull解 析器的运行方式与 SAX 解析器相似。它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素 并触发相应事件。跟SAX不同的是, Pull解析器产生…

android json解析及简单例子

JSON的定义:       一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式…

Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性添加图标

Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性添加图标

˂p style="font-family:Arial; font-size:14px; line-height:26px; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0…

android上传图片至服务器

本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码publicvoid doPost(HttpServletRequest request, HttpServletResponse response)&…

采用SharedPreferences保存用户偏好设置参数

采用SharedPreferences保存用户偏好设置参数-------------------------------------------------1.eclipse就是通过xml来保存用户的偏好设置-->window-->perfences-------------------…

Android SharedPreferences PreperenceScreen 偏好数据存取

SharedPreferences是一个接口,程序是无法创建SharedPreferences实例的,˂p style="margi…