Android系统的数据存储第三种方式是External Storage,便是外部存储。android
外部存储一般存储的是公共的数据,存储位置是在扩展卡或SD卡上,存储目录:/mnt/sdcard/Android/data/包名/cache,注:测试使用的是系统自带的模拟器。算法
外部存储不是必须的,同时存储在扩展卡上的数据是不安全的,由于全部的程序均可以访问扩展卡上的数据,对数据进行读写操做。缓存
1.使用外部存储须要添加相应的全选,如READ_EXTERNAL_STORAGE 或者 WRITE_EXTERANL_STORAGE,必须的。安全
eg:测试
2.必需要判断扩展卡是否挂载,由于扩展卡对于android系统来讲不是必须的,它是外置的。spa
本身写的一个判断例子:3d
官方文档的判断例子:blog
这里:getExternalStorageState()返回了一个字符串常量,用来描述扩展卡的状态。图片
3.判断扩展卡的空间是否够用(可选)文档
4.保存图片到扩展卡(可选)
5.保存图片到扩展卡(可选)
6.从扩展卡读取图片(可选)
7.清空扩展卡
8.获取文件的name
注意:为了是文件的名称具备惟一性,这里能够使用MD5算法将一个name字符串对应一个惟一的字符串。
9.关于外部存储的缓存
context.getExternalCacheDir()
eg:
打开File Explore 查看:
该文件是在/mnt/sdcard/Android/data/com.tostrary.SharedPreferences/cache/目录下
导出文件查看:
10.外部存储经常使用方法
getExternalStoragePublicDirectory()
getExternalFilesDir()
getExternalFilesDirs()
getExternalCacheDirs()
未完,待续。