android6.0存储路径,Android 文件存储路径区分

前言

查了很多资料,最终归结为如下内容

1.资料参考

2.概念的认识

内部存储:

内部存储不同于内存,与应用有关联的文件数据存储在其中,而且它也是系统本身和系统应用程序主要的数据存储所在地。SharedPreferences和SQLite数据库都是存储在内部存储空间上的。内部存储空间有限,尽量不存在此处。

外部存储:

外部存储分为手机

在4.4(API19)以前的手机上,手机自身带的存储卡就是内部存储,而扩展的SD卡就是外部存储;

在4.4系统及以上的手机将机身存储存储(手机自身带的存储叫做机身存储)在概念上分成了”内部存储internal” 和”外部存储external” 两部分,假如插入了sd卡,sd卡也属于外部存储。

eg:

如果你的手机插了SD卡的话,那么它打印的路径就有两条了,例如我的华为荣耀7插了SD卡,它的结果如下:

/storage/emulated/0/Android/data/packname/files/mounted

/storage/B3E4-1711/Android/data/packname/files/mounted

其中/storage/emulated/0目录就是机身存储的外部存储路径

而/storage/B3E4-1711/就是SD卡的路径

他们统称为外部存储

3.Api路径方法总结

内部存储:

/data/data/包名/

context.getFilesDir(); // /data/data/包名/files

context.getCacheDir(); // /data/data/包名/cache

外部存储:

/sdcard/Android/data/包名/

context.getExternalFilesDir(); /sdcard/Android/data/包名/files

context.getExternalCacheDir(); /sdcard/Android/data/包名/cache

/sdcard/xxx

/storage/emulated/0

Environment.getExternalStorageDirectory();

/storage/emulated/0/DCIM, 另外还有MOVIE/MUSIC等很多种标准路径

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);

getExternalStorageDirectory()在不同android机子上的路径信息

系统版本

结果

4.0

/mnt/sdcard

4.1

/storage/sdcard0

4.2

/storage/sdcard0

4.4

/storage/emulated/0

6.0

/storage/emulated/0

1、其中sdcard/、mnt/sdcard、storage/sdcard0、storage/emulated/0、storage/emulated/legacy都是同一个路径的不同”指针“,指向的是同一个地方,只是不同Android版本的叫法不一样。

4.文件操作类(发现网上有很多,自行搜索吧)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值