总结存储路径,方便下次查阅,看了很多介绍存储路径的文章,但是还是自己验证一下来的爽快~

这里分为内部存储和外部存储。

内部存储:即手机自带的存储目录。

外部存储:如SD卡。

不管现在的手机是否有可移动的SD卡,总是有外部存储和内部存储。

先上图:

android 图片存储路径 安卓照片储存路径_外部存储

android 图片存储路径 安卓照片储存路径_包名_02

内部存储

(一)非私有目录:不会随着 APP 的卸载而删除

1. Environment.getDataDirectory()

绝对路径: /data

获得根目录下的 /data

2. Environment.getDownloadCacheDirectory()

绝对路径: /data/cache

获得缓存目录

3. Environment.getRootDirectory()

绝对路径: /system

获得系统目录

(二)私有目录:随着App 的卸载而删除

4. context.getFileDir()

绝对路径: /data/user/0/包名/files

路径中带有包名,用于获取App的files目录

5.context.getCacheDir()

 绝对路径:/data/user/0/包名/cache

外部存储

外插SD卡的一般需要判断是否插了SD卡;但是现在大部分手机都是内置SD卡。

(一)非私有目录:

1. Environment.getExternalStorageDirectory()

绝对路径: /storage/emulated/0

获得SD卡根路径

2. Environment.getExternalStoragePublicDirectory(String)

绝对路径:根据参数而定

获得放置特定类型共享文件的目录,比如音乐、电影、铃声等。

(二)私有目录:

3. context.getExternalFilesDir(String)

绝对路径: /storage/emulated/0/Android/data/包名/files

获得SD卡中 APP 下的 /files 目录

4.context.getExternalCacheDir()

绝对路径: /storage/emulated/0/Android/data/包名/cache

获得SD卡中 APP 下的 /cache 缓存目录

 

可以看到,内部和外部存储还分为私有目录和非私有目录,也就是带有包名的都是私有目录,很正常,不可能整个存储设备都是你一个应用的,肯定是分给很多应用的。

 

喜欢点个赞~