android SD卡路径问题以及如何获取SDCard 内存 (转)
1、讲述 Environment 类?
Environment 是一个提供访问环境变量的类。?
Environment 包含常量:?
MEDIA_BAD_REMOVAL?
解释:返回getExternalStorageState() ,表明SDCard 被卸载前己被移除
MEDIA_CHECKING?
解释:返回getExternalStorageState() ,表明对象正在磁盘检查。
MEDIA_MOUNTED?
解释:返回getExternalStorageState() ,表明对象是否存在并具有读/写权限
MEDIA_MOUNTED_READ_ONLY?
解释:返回getExternalStorageState() ,表明对象权限为只读
MEDIA_NOFS?
解释:返回getExternalStorageState() ,表明对象为空白或正在使用不受支持的文件系统。
MEDIA_REMOVED?
解释:返回getExternalStorageState() ,如果不存在 SDCard 返回
MEDIA_SHARED?
解释:返回getExternalStorageState() ,如果 SDCard 未安装 ,并通过 USB 大容量存储共享 返回
MEDIA_UNMOUNTABLE?
解释:返回getExternalStorageState() ,返回 SDCard 不可被安装 如果 SDCard 是存在但不可以被安装
MEDIA_UNMOUNTED?
解释:返回getExternalStorageState() ,返回 SDCard 已卸掉如果 SDCard 是存在但是没有被安装
Environment 常用方法:?
方法:getDataDirectory()?
解释:返回 File ,获取 Android 数据目录。
方法:getDownloadCacheDirectory()?
解释:返回 File ,获取 Android 下载/缓存内容目录。
方法:getExternalStorageDirectory()?
解释:返回 File ,获取外部存储目录即 SDCard
方法:getExternalStoragePublicDirectory(Stringtype)?
解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件
方法:getExternalStorageState()?
解释:返回 File ,获取外部存储设备的当前状态
方法:getRootDirectory()?
解释:返回 File ,获取 Android 的根目录
2、讲述 StatFs 类?
StatFs 一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况?
StatFs 常用方法:?
getAvailableBlocks()?
解释:返回 Int ,获取当前可用的存储空间
getBlockCount()?
解释:返回 Int ,获取该区域可用的文件系统数
getBlockSize()?
解释:返回 Int ,大小,以字节为单位,一个文件系统
getFreeBlocks()?
解释:返回 Int ,该块区域剩余的空间
restat(String path)?
解释:执行一个由该对象所引用的文件系统
3、完整例子读取 SDCard 内存?
存储卡在 Android 手机上是可以随时插拔的,每次的动作都对引起操作系统进行ACTION_BROADCAST,本例子将使用上面学到的方法,计算出 SDCard 的剩余容量和总容量。代码如下:?
?
