Android开发之系统信息——获取Android手机中SD卡内存信息
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/1024/1024;
//(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/1024/1024;
}
转载于:https://www.cnblogs.com/xyzlmn/archive/2011/05/06/3168183.html
Android开发之系统信息——获取Android手机中SD卡内存信息相关推荐
- /mnt/sdcard或者/sdcard这是Android手机中SD卡的文件夹路径
Android系统的开放,使其用户可以自己查看系统和SD卡中的文件夹.就系统和SD卡中常见的目录代表什么意思,下面是一个较实用的总结: 一.SD卡中 1. /mnt/sdcard或者/sdcard这是 ...
- Android获取Linux图像信息,Android系统信息获取 之十三:Linux内核版本信息获取
Android系统信息获取 之十三:Linux内核版本信息获取 Android系统是基于Linux的,各个Android版本对应的Linux版本不尽相同,我们这里不去追究各个Android对应的Lin ...
- Android 开发 Activity里获取View的宽度和高度 转载
Android 开发 Activity里获取View的宽度和高度 转载 原文地址:https://blog.csdn.net/chenbaige/article/details/77991594 前言 ...
- Android利用Java反射获取用户手机的rom定制系统及版本,EMUI,MIUI,ColorOS,FunthouchOS等
Android利用Java反射获取用户手机的rom定制系统版本及版本号,EMUI,MIUI,ColorOS,FunthouchOS等 前言 正文 结语 前言 现在手机厂商都推出了自己的基于Androi ...
- 《Android开发艺术探索》自定义View中关于“HorizontalScrollViewEx”的改进
在<Android开发艺术探索>一书中自定义View一节中提到了关于一个类似横向滑动List的自定义ViewGroup:HorizontalScrollViewEx.如果你使用过的话就会发 ...
- android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...
本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1 Android Studio配置 2.1.1 ...
- android复制短信到sim,Android开发之关于复制短信到SIM卡的分析.docx
Android开发之关于复制短信到SIM卡的分析 Android开发之关于复制短信到SIM卡的分析 在framework层下的SmsManager类中,封装好了一个copyMessageToIcc方法 ...
- Android开发介绍(基于Android Studio软件)
Android开发介绍(基于Android Studio软件) 关于Android开发,笔者走过一些弯路,因此今天总计了有关Android开发的一些内容和心得,希望对大家有所帮助.首先来一张安卓开发者 ...
- htc android sd卡,【HTC T328W】Android系统中SD卡各文件夹功能详解
希望你的补充说明,让我们一起来清理内存卡吧注意,软件没有卸载前,不建议删除其文件荚!1..android_secure 是官方app2sd的产物,删了之后装到sd卡中的软件就无法使用了,小 ...
最新文章
- DroidPilot V2.1 手写功能特别版
- xftp连接海康摄像头报错:sftp子系统申请已拒绝 请确保ssh连接的sftp子系统设置有效
- 程序中抛出空指针异常_从Java应用程序中消除空指针异常
- 浅析Linux开发工具之Makefile
- 【SpringMVC框架】springmvc的基础知识
- 【kafka】Kafka ConsumerOffsetChecker 命令失效问题解决 卡死
- 系统管理-第2部分 范围,方法和元素
- idea 配置springmvc+mybatis(图文教程)
- springmvc 配置aop
- iOS开发之控制器之间传值
- ZOJ3067_Nim
- Oracle 9.2.0.4的一个简单安装脚本(含安装前补丁p3006854)
- Apache Commons Net 实现 FTP 上传/下载/删除/同步
- vue源码分析系列之响应式数据(三)
- 自学啊哈C的推箱子的编程代码
- c语言读取文件属性,Java File类(文件操作类)详解
- 详解线上线下收单业务(2)
- JDK8中Lambda 表达式语法糖脱糖[非原创]
- 使用Vue+Element-UI从0搭建一个常见的前端模板
- Echarts 雷达简单应用
热门文章
- redis 配置允许其他主机可以远程连接redis
- Spring security+jwt服务鉴权完整代码
- 如何快速解决虚拟机中的CentOS7无法上网的方式
- Coding:就地合并两个排序数组
- java读取excel2010文件_java如何读写excel2010
- vmlite linux版本,vmlite 安装 xp mode及xp、win7、linux的虚拟磁盘到d盘的方法
- 超级签名源码_苹果iOS超级签名源码技术解析
- 什么是 DDos 攻击
- 空间句法软件_【特训营2:空间句法高阶班】GIS中的空间句法运用 丨城市数据派...
- Linux中的ftp命令怎么写,linux下使用ftp命令