Android 存储目录
16lz
2021-01-23
http://blog.csdn.net/androidwifi/article/details/17725989/
http://www.androidchina.net/4106.html
想要搞清楚Android的存储目录,知道什么时候该存储在哪里,该调用什么api,首先我们必须要搞清楚一些概念,知道什么是内部存储、外部存储、扩展卡,私有目录、公有目录。外部存储不全是公有目录,也不是特指扩展sd卡。
内部存储
内部存储位于系统中很特殊的一个位置,如果你想将文件存储名内部存储中,那么文件将保在/data/data/你的包名/
之下。当一个应用卸载之后,内部存储中的这些文件也被删除。从技术上来讲如果你在创建内部存储文件的时候将文件属性设置成可读,其他app能够访问自己应用的数据,前提是他知道你这个应用的包名,如果一个文件的属性是私有(private),那么即使知道包名其他应用也无法访问。 内部存储空间十分有限,因而显得可贵,另外,它也是系统本身和系统应用程序主要的数据存储所在地,一旦内部存储空间耗尽,手机也就无法使用了。所以对于内部存储空间,我们要尽量避免使用。Shared Preferences和SQLite数据库都是存储在内部存储空间上的。内部存储一般用Context来获取和操作。
存储空间操作
下图是Android 获取目录的api 对应目录路径
api | path |
---|---|
context.getFilesDir() | /data/data/com.example.ttttt/files |
context.getCacheDir() | /data/data/com.example.ttttt/cache |
context.getDir(“test”, MODE_PRIVATE) | /data/data/com.example.ttttt/app_test |
context.getDatabasePath(“test”) | /data/data/com.example.ttttt/databases/test |
context.getFileStreamPath(“test”) | /data/data/com.example.ttttt/files/test |
context.getExternalCacheDir() | /mnt/sdcard/Android/data/com.example.ttttt/cache |
context.getExternalFilesDir(Environment.DIRECTORY_MUSIC) | /mnt/sdcard/Android/data/com.example.ttttt/files/Music |
Environment.getDataDirectory() | /data |
Environment.getDownloadCacheDirectory() | /cache |
Environment.getExternalStorageDirectory() | /mnt/sdcard |
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC) | /mnt/sdcard/Music |
com.example.ttttt是我测试的包名
更多相关文章
- android 实用sax 读取xml文件内容 附源码
- android遍历sd卡中的所有文件
- Android 实现多个Audio文件的顺序播放
- 解决 Android 下载中文文件名问题
- maven 学习笔记(五)-创建简单的eclipse+android+maven工程(打包为aa
- 最全的Android源码目录结构详解
- --android studio 使用gradle 导出jar包,并打包assets目录