android 外部存储知识
来源:互联网 发布:华为麦芒4移动网络 编辑:程序博客网 时间:2024/06/02 04:05
File 数据外部存储
每一个android设备支持一个共享“外部存储”,您可以使用它来保存文件。这可能是一个移动存储媒体(如一个SD卡)或一个内部(固定的)存储。文件保存到外部存储是公开的,可由用户修改他们。
注意:外部存储设备上的文件,所有的应用程序都可以访问它,甚至可以连接在电脑上直接修改。
获取android文件系统的信息,需要Environment类和StatFs类的支持。
(1)Environment 是一个提供访问环境变量的类,常用的方法有:
A,getDataDirectory() ,返回File ,获取Android 数据目录。
B,getDownloadCacheDirectory(),返回File ,获取Android 下载/缓存内容目录。
C,getExternalStorageDirectory() ,返回File ,获取外部存储目录即SDCard。
D,getExternalStorageState() ,返回File,获取外部存储设备的当前状态。
E,getRootDirectory() ,返回File,获取Android 的根目录。
常用的变量,以getExternalStorageState返回值为例:
A,MEDIA_BAD_REMOVAL,表明SDCard 被卸载前己被移除。
B,MEDIA_CHECKING,表明对象正在磁盘检查。
C,MEDIA_MOUNTED,表明对象存在并具有读/写权限。
D,MEDIA_MOUNTED_READ_ONLY,表明对象权限为只读。
E,MEDIA_NOFS,表明对象为空白或正在使用不受支持的文件系统。
F,MEDIA_REMOVED,不存在SDCard。
G,MEDIA_SHARED,表明存储媒体正在通过USB共享。
H,MEDIA_UNMOUNTABLE,表明存储媒体无法挂载。
I, MEDIA_UNMOUNTED,表明存储媒体没有挂载。
(2)StatFs类,一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况。StatFs 常用方法:
A,getAvailableBlocks(),返回Int,获取当前可用的存储空间。
B,getBlockCount(),返回Int,获取该区域可用的文件系统数。
C,getBlockSize(),返回Int ,大小,以字节为单位
D,getFreeBlocks(),返回Int ,该块区域剩余的空间。获取SD卡可用容量及总量的实例
if
(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//拿到SD卡(外部存储设备,不一定是sd卡)的文件目录
String path = Environment.getExternalStorageDirectory().getPath();
//一个包装类,用来检索文件系统的信息
StatFs stat =
new
StatFs(path);
//文件系统的块的大小(byte)
long
blockSize = stat.getBlockSize();
//文件系统的总的块数
long
totalBlocks = stat.getBlockCount();
//文件系统上空闲的可用于程序的存储块数
long
availableBlocks = stat.getAvailableBlocks();
//总的容量
long
totalSize = blockSize*totalBlocks;
long
availableSize = blockSize*availableBlocks;
String totalStr = Formatter.formatFileSize(
this
, totalSize);
String availableStr = Formatter.formatFileSize(
this
, availableSize);
externalTv.setText(
"外部存储的容量"
+
"\n"
+
"总大小:"
+totalStr+
"\n"
+
"可用大小:"
+availableStr);
}
else
{
Toast.makeText(
this
,
"SD卡不可用,请检查SD卡的状态"
,
Toast.LENGTH_LONG).show();
}
- android 外部存储知识
- android 实现外部存储
- android 外部存储卡
- Android外部存储
- android外部存储
- Android的外部存储
- Android外部存储的
- 《Android外部存储》
- Android 外部存储权限分析
- Android 外部存储权限分析
- Android 外部存储权限分析
- Android 外部存储权限分析
- Android:外部存储的读写
- Android 外部存储权限分析 .
- android中的内外部存储
- Android外部sd卡存储
- Android 外部存储使用详解
- Android 存储知识总结
- Myeclise 注册码计算代码
- Oracle 11g R2 for Win7旗舰版(64位)的安装步骤
- 用JSON改进AJAX数据传输ajax 处理json
- 【引用】自己封装的Extjs组件GroupGrid的代码(9) DateField TextField NumberField
- 【引用】自己封装的Extjs组件GroupGrid(1)
- android 外部存储知识
- 【引用】自己封装的Extjs组件combox(2)
- Ext中有几个以get开头的方法
- Ext的日期格式说明(转载)
- 关于SQL语句方面的问题
- Ext.isEmpty( Mixed value, [Boolean allowBlank] ) 用法
- SQL,清空数据库时,将ID清零
- phonegap照相插件的使用
- SQL service Truncate和sp_MShelpcolumns