安卓学习之路之数据存储外部存储
2015-09-16 19:07
375 查看
需要注意的是
1要对外部的内存空间进行增删和写入的话,需要加入两个权限代码如下:
第一个是允许挂载和反挂载文件系统可移动存储;
第二个是模拟器中sdcard中创建文件夹的权限
2每次使用外部的存储之前都是对检查存储介质是否可用(即内存卡)可以调用getExternalStorageState()方法来检测,
具体的代码如下
1. 系统不会总是监控外部缓存的空间使用情况,不会自动删除一些不用的文件.
2.外部缓存并不总是可用的.
3.外部缓存中的文件没有安全性,所有的应用程序都可以读写这些文件.
1要对外部的内存空间进行增删和写入的话,需要加入两个权限代码如下:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
第一个是允许挂载和反挂载文件系统可移动存储;
第二个是模拟器中sdcard中创建文件夹的权限
2每次使用外部的存储之前都是对检查存储介质是否可用(即内存卡)可以调用getExternalStorageState()方法来检测,
具体的代码如下
<span style="white-space:pre"> </span>boolean isReadable = false; boolean isWriteable = false; //返回内部卡当前状态的方法 //Environment.MEDIA_MOUNTED 可读可写的状态 String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state)) { isReadable = true; isWriteable = true; }else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { //标记只能读不能写 isReadable = true; isWriteable = false; } else { isReadable = isWriteable = false; }其他简单的方法,
/** * 获取文件字节总长度 * @return */ public static long getLength(){ File file = new File(Environment.getExternalStorageDirectory(),""); long l = file.getTotalSpace(); return l; } /** * 获取文件剩余字节总长度 * @return */ public static long getFreeLength(){ File file = new File(Environment.getExternalStorageDirectory(),""); long l = file.getFreeSpace(); return l; } /** * 根据文件名删除指定的数据 * @return */ public static boolean isDelete(String fileName){ File file = new File(Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_DOWNLOADS), fileName); boolean b =file.delete(); return b; }使用外部存储和内部存储的不同之处:
1. 系统不会总是监控外部缓存的空间使用情况,不会自动删除一些不用的文件.
2.外部缓存并不总是可用的.
3.外部缓存中的文件没有安全性,所有的应用程序都可以读写这些文件.
相关文章推荐
- hbase0.96与hive0.12整合高可靠文档及问题总结
- 爆栈
- mysql本地IP识别但是不识别127.0.0.1问题
- (转)C++中相对路径与绝对路径以及斜杠与反斜杠的区别
- PHP如何从URL中获取一个0值
- 《程序员面试金典》检查是否为BST
- [转载] ZooKeeper原理及使用
- svn中的eclipse项目迁移到android studio中 以及android sdk更新方法
- Bean类和Map的相互转换
- Android ndk的ABI条件编译
- MAVEN发布固定版本(不需要更改pom更新依赖的方法) -- 自动更新SNAPSHOT
- Android实例-屏幕操持常亮(XE8+小米2)
- Android开源项目
- java SE复习笔记9
- IOS开发学习的思维导图
- sqlserver清除缓存,记录查询时间
- 测试工具JMeter使用心得1
- C/C++随机数的生成
- 《黑马程序员》Java集合泛型
- 51-蜂鸣器