0
点赞
收藏
分享

微信扫一扫

android 目录结构 和 文件存储


android 目录结构 和 文件存储_getFilesDir


系统目录结构:

  • /system 系统目录,例如系统软件,字体,媒体,属性等基本信息
  • /data/data 目录,,这里包含了app的数据、文件、数据库等信息,并且以包名的形式来区分各个应用。既然提到这个目录,我就补充一下。在这个目录下,找到自己项目的包名,然后出现以下的目录结构:
    -
  • android 目录结构 和 文件存储_android_02

  • /data/data/package-name/database 下存放着项目的数据库文件(.db文件)。
    /data/data/package-name/database 下存放着项目的以SharedPrefrence形式保存的文件(.xml文件)
  • /data/app/目录 用户安装的app或者是升级的app文件
  • /data/system/目录 这里存放着手机各项的系统信息。
  • /data/misc/目录 这里存放着大部分的WIFI、VPN信息。
  • /cache 此目录存放着是临时缓存的文件。
  • /etc 目录 这里存放了系统中几乎所有的配置文件。

/sdcard/storage/self/primary 的一个符号链接
/storage/self/primary/mnt/usr/0/primary 的一个符号链接
/storage/emulated/0/mnt/usr/0/primary 的一个分区


getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()

Cache和Files 二个目录分别对应 设置->应用->应用详情里面的”清除数据“与”清除缓存“选项

getxxxDir():对应/data/data/package-name/xxx
getExternalxxxDir():对应/sdcard/Android/data/package-name/xxx

下面以Package-name为:com.learn.test开始讲解

内部存储:

Environment.getDataDirectory():      /data
Context.getCacheDir(): /data/data/com.learn.test/cache
Context.getFilesDir(): /data/data/com.learn.test/files
Context.getFileStreamPath(""): /data/data/com.learn.test/files
Context.getFileStreamPath("test"): /data/data/com.learn.test/files/test

外部存储

Environment.getExternalStorageDirectory():  /sdcard
Context.getExternalCacheDir(): /sdcard/Android/data/com.learn.test/cache
Context.getExternalFilesDir(""): /sdcard/Android/data/com.learn.test/files
Context.getExternalFilesDir("test"): /sdcard/Android/data/com.learn.test/files/test

以上文件的内容会随着我们卸载应用而自动删除。如果我们在外部存储上新建任何文件夹,则需要手动清理,系统并不会因为卸载而删除。
公共存储目录

Environment.getExternalStorageDirectory():              /sdcard
Environment.getExternalStoragePublicDirectory(""): /sdcard
Environment.getExternalStoragePublicDirectory("test"): /sdcard/est



举报

相关推荐

0 条评论