APP开发实战99-Android的内部存储(Internal Storage)
来源:互联网 发布:怎么在淘宝上买种子 编辑:程序博客网 时间:2024/05/17 06:57
26 Android的本地存储
(参考:http://blog.csdn.net/zhaokaiqiang1992)
26.1内部存储(InternalStorage)
内部存储空间特性:
这部分空间总是可用的。
这里的文件默认是只能被你的APP所访问的。
当用户卸载APP的时候,系统会把内部存储里面的相关文件都清除干净。
内部存储是想确保不被用户与其他APP所访问的最佳存储区域。
读写内部存储不需要权限。
保存到内部存储的方式:
1 getFileDir() 通过此方法可以获取到你的APP内部存储的文件路径,路径为/data/data/pacgage_name/files
示例代码:
File file1 = new File(getFilesDir(), "getFilesDir.txt");
Log.d("TAG", "file1=" + file1.getAbsolutePath());
try {
OutputStream outputStream1 = new FileOutputStream(file1);
outputStream1.write("file".getBytes());
outputStream1.close();
} catch (Exception e) {
e.printStackTrace();
}
运行输出的Log如下:
file1=/data/data/demo6.qz.com.demo6/files/getFilesDir.txt
2 getCacheDir()通过此方法可以获取到你的APP内部缓存的文件路径,路径为/data/data/package_name/cache
示例代码:
File file2 = new File(getCacheDir(), "cache.txt");
Log.d("TAG", "file2=" + file2.getAbsolutePath());
try {
OutputStream outputStream1 = new FileOutputStream(file2);
outputStream1.write("cache".getBytes());
outputStream1.close();
} catch (Exception e) {
e.printStackTrace();
}
运行输出的Log如下:
file1=/data/data/demo6.qz.com.demo6/files/getFilesDir.txt
3 openFileOutput()通过此方法,可以获取到一个输出流,输出流的保存路径是/data/data/package_name/files,和getFileDir()的路径一致
示例代码如下
try {
OutputStream outputStream = openFileOutput("openFileOutput.txt", MODE_PRIVATE);
outputStream.write("openFileOutput".getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
运行结果:
APP的内部存储目录是以APP的包名作为标识存放在Android文件系统的特定目录下[data/data/com.example.xx]。从技术上讲,如果设置文件为可读的,那么其他APP就可以读取这个APP的内部文件。然而,其他APP需要知道此APP的包名与文件名。若是没有设置为可读或者可写,其他APP是没有办法读写的。因此只要使用MODE_PRIVATE模式,那么这些文件就不可能被其他APP所访问。
内部存储区域的数据在APP卸载的时候,会一块被删除,因此,可以在cache目录里面放置图片缓存。
cache与files的差别在于,如果手机的内部存储空间不够了,系统会自行选择cache目录进行删除,因此,不要把重要的文件放在cache文件里面,可以放置在files里面,因为这个文件只有在APP被卸载的时候才会被删除。
用户对APP进行更新操作时,内部存储区域的数据不会被删除,区别于被用户手动卸载。
- APP开发实战99-Android的内部存储(Internal Storage)
- APP开发实战100-Android的外部存储(External Storage)
- Android 外部存储external storage和内部存储internal storage
- Android数据存储--Internal Storage(内部存储)及权限
- Android数据存储之Internal Storage内部存储
- Android数据存储-Internal Storage
- android 文件存储 Internal storage External storage
- 从零开始学android<数据存储(2)Internal Storage内部存储.三十六.>
- android中数据的存储方式(Internal Storage)
- 【安卓】Using the Internal Storage使用内部存储
- Android 存储:Internal Storage的用法以及与External storage 的区别
- Android 存储:Internal Storage的用法以及与External storage 的区别
- Android Data Storage(数据存储)之Internal Storage
- APP开发实战101-Android的外部私用存储
- APP开发实战102-Android的外部公共存储
- DeviceOne 开发App的存储之storage和global。
- android进阶(三)数据存储之Internal Storage
- 内部存储Internal store
- ios设计模式之模板设计模式
- 从零开始学_JavaScript_系列(24)——查看对象属性,合并数组
- JAVA学习总结二十五
- 异步任务之AsyncTask实现<一>
- [Linux/Ubuntu] vi/vim 使用方法讲解
- APP开发实战99-Android的内部存储(Internal Storage)
- Latex生成PDF文件中字体无法嵌入
- Matlab R2010a和vs 2010混合编程
- 【经典算法】: 求链表中倒数第K个结点
- Python 3.5 import easygui invalid syntax
- Java-算法之选择排序
- 腾讯云配置密钥使用putty登录
- poj 1572 kmp
- diff patch 打补丁