android 目录结构 和 文件存储

在这里插入图片描述
系统目录结构:

  • /system 系统目录,例如系统软件,字体,媒体,属性等基本信息

  • /data/data 目录,,这里包含了app的数据、文件、数据库等信息,并且以包名的形式来区分各个应用。既然提到这个目录,我就补充一下。在这个目录下,找到自己项目的包名,然后出现以下的目录结构:
    -在这里插入图片描述
    /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 的一个分区

参考博客:https://blog.csdn.net/qq_39074954/article/details/97613088

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

博客参考:https://blog.csdn.net/Kelaker/article/details/80471352

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章