5.Android数据保存策略之2--SD卡
来源:互联网 发布:私人订制软件 编辑:程序博客网 时间:2024/05/17 08:42
存到公共sd卡中去(访问级别–公有)
SD卡分两种: 1.可以让用户自己去插拔
2.内置在手机中的SD卡
1 将数据保存到sd卡中去:
在android的文件系统中,存在sdcard的一个软链接(相当于windows中的快捷方式) /sdcard
—->>>软连接—–/mnt/sdcard
(该软链接存在的前提是你的手机里有一个sdcard)
2 怎么获取这个位置呢?
安卓手机特别多,不同的oem厂商定义sdcard时有不同的路径名称
比如:
/mnt/sdcard/emulated01
/mnt/sdcard/storage01
/mnt/sdcard/storage02等
这对开发者来说是个很蛋疼的问题
好在Google Android中提供了一种兼容性非常好的路径获取方式:
Environment.getExternalStorageDirectory()
如图,示例中在sdcard中新建了一个文件,存放路径是:/info.txt
但是这样还不够,在Android中,对文件存取是需要权限的,所以我们需要在AndroidManifest.xml文件中向系统申请一下写外部sdcard的权限:
在保存数据到SD卡之前,需要确认两件事情:
1.SD卡只有在挂载的情况下才能写入数据,所以这里需要做一个挂载检测
判断sdcard的 状态
String status = Environment.getExternalStorageState();
如果是mouted — 挂载 , 那么这个时候 可以去 写 数据到 sd 卡中
Environment.MEDIA_MOUNTED.equals(status)
2.写入的数据不能超过SD卡的空闲空间大小,需要检查一下空闲容量
返回可用的 空闲的 空间 大小 —- in bytes
long freeSpace = Environment.getExternalStorageDirectory().getFreeSpace();
拿到 sd 卡的总的大小, in bytes
Environment.getExternalStorageDirectory().getTotalSpace();
拿到 sd 卡 已经使用的 的大小, in bytes
Environment.getExternalStorageDirectory().getUsableSpace();
调用这个api 去获得sd 卡的 可用 控件, 这里还做了一个事, 将 返回的字节 空间 做了单位的转换
String avalableSize = Formatter.formatFileSize(this, freeSpace);
3.查看文件的访问权限:
在android中, 每个应用都有自己私有的隐秘的信息, 在编程的时候,咱们程序员可以去设置创建的访问的权限
Linux下的文件权限:
在android文件夹的权限是源于linux操作系统的
- 5.Android数据保存策略之2--SD卡
- 5.Android数据保存策略之3--SharedPreference
- Android使用sd卡保存读取数据
- Android 数据访问之External Storage 数据保存在sd卡 demo+笔记
- 保存数据到SD卡
- 保存数据到SD卡
- Android开发 将数据保存到SD卡
- Android 将SQLite数据保存在SD卡
- Android中数据保存到ROM文件和sd卡
- Android---6---将数据保存到SD卡
- Android NV21数据保存成JPG格式到SD卡
- android保存数据到手机内存以及SD卡
- Android 存储学习之保存系统短信到SD卡
- Android开发之屏幕截图保存至SD卡
- Android数据存储之SD卡
- 我的Android之旅(十八)---数据存储--向SD卡保存网络上的图片
- Android之SD卡以追加形式写文件并把文件保存到SD卡中
- 安卓保存数据到SD卡
- response.setHeader()的用法
- Android ConstraintLayout详解
- 自定义 自动补充 email 的 EditText
- 错误处理
- 第一章 简介
- 5.Android数据保存策略之2--SD卡
- 【c++】二叉树的线索化
- 多线程三
- CC2538知识
- 特征点匹配——使用基础矩阵、单应性矩阵的RANSAC算法去除误匹配点对
- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined)F. Cyclic Cipher
- 机器学习05-支持向量机_1
- OpenMV 机器视觉模块 简介
- Android使用Java反射机制,被调用的类多出未定义的field