Android(安卓)存储目录
16lz
2022-08-07
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是我测试的包名
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- 读取android手机流量信息
- android 使用html5作布局文件: webview跟javascript交互
- Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner Proces
- android“设置”里的版本号
- Android开发环境搭建
- Android(安卓)Resource介绍和使用
- 2014.01.21 ——— android 关联android-support源码