Android 五大数据存储 (最实用的开发详解) 三 内部存储,外部存储
内部存储
保 存 路 径 :
data/data/包名/shared_prefs//我们说的xml存储就在这里
data/data/包名/databases//创建的数据库的存储路径
data/data/包名/files //本地的文件存储
data/data/包名/cache//缓存存储
支持保存类型: 一般用来保存文件类 ,缓存日志,它支持图片,音频,视频,文本等存储,但是当设备内存不足时,Android系统可能删除这些缓存文件来恢复空间。所以一些常用的文件不建议放在此位置
外部存储
外部存储的目录分为两种:
共有目录: 九大公有目录
私有目录: storage/sdcard/Android/data/包名/files
storage/sdcard/Android/data/包名/cache
支持保存类型: 一般用来保存文件类 ,缓存日志,它支持图片,音频,视频,文本等存储,他的存储量取决于你手机的大小,值得一提的是,要是放在私有目录里当卸载apk文件的时候,数据也会相应删除,要是放在公有目录里 删除方式只有两种,手动在文件管理删除文件,或者代码执行deleteFile()函数
其实两种的操作都是通过File来进行增删改查,只是路径不同 下面我们来进行一个添加操作
路径获取函数 :
getDataDirectory()
getFilesDir()
getCacheDirgetDir()
getExternalStorageDirectory()
getExternalStoragePublicDirectory()
getExternalFilesDir()
getExternalCacheDir()
getExternalCacheDir()
getRootDirector
至于我们想存到哪里,还需要各位自己选择了
第一步添加数据
public static boolean saveFile(byte[] data, String fileName, Context context) {
BufferedOutputStream bos = null;
if (isSDCardMounted()) {
File file = context.getCacheDir();//这里值得注意的是我们选用那种存储就选哪个对应路径方法
try {
bos = new BufferedOutputStream(new FileOutputStream(new File(
file, fileName)));
bos.write(data);
bos.flush();
return true;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return false;
}
第二步 删除数据
public void deleteFile(String path)
{
File dir = new File(path);//这里有必要左下非空判断,不然路径会报错
deleteDirWihtFile(dir);
}
好的这个分享就写在这里了,有不当之处 还望大家多多指教
本文地址:https://blog.csdn.net/qq_28643195/article/details/107586786