android 文件存储路径比较

本文详细介绍了Android应用程序中三种主要的存储目录:应用私有存储、应用扩展存储(sd卡)和公共存储(sd卡)。包括如何获取这些目录的路径、它们的用途以及使用时需要注意的权限申请等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储目录一共分为三类

外置sdcard的读写权限,从Android 6.0发布之后,基于运行时权限机制访问外置sdcard是需要动态申请权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

1. 应用私有存储目录 , 不需要读写权限。

1.获取内置存储下的文件目录, 获取方法:File file=content.getFilesDir(),路径:/data/data/应用包名/file,可以用来保存不能公开给其他应用的一些敏感数据如用户个人信息。

2获取内置存储下的文件缓存目录, 获取方法:File file=content.getCacheDir(),路径:/data/data/应用包名/cache,可以用来保存一些缓存文件如图片,当内置存储的空间不足时将系统自动被清除。

3 由于这里使用的是Android 手机内置存储,如果手机没有获得root权限的话文件浏览器是无法访问的,同样这种存储也会随之app被删除而被删除。

2.应用扩展存储(sd卡),需要读写权限

1 获取SD卡上的文件目录,获取方法:File file=content.getExternalFilesDir(null) , 路径 : /storage/emulated/0/Android/data/应用包名/file 或SDCard/Android/data/应用包名/file 。
2 获取SD卡上的文件缓存目录,获取方法:File file=content.getExternalCacheDir() , 路径 : /storage/emulated/0/Android/data/应用包名/cache 或SDCard/Android/data/应用包名/cache 。
3 只有手机系统使用的是虚拟外部存储(虚拟SD卡,现在绝大多数的手机,都不用外挂物理SD卡了)的时候,才可以在卸载应用的同时,自动删除该目录下的文件,如果是之前的物理存储(物理SD卡)则不会自动删除该目录,及目录下的文件。在使用的时候,需要判断外部存储的挂载状态(getExternalStorageState(File)),还需要申请读写权限(READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE)。

3.公共存储(sd卡), 需要读写权限

1 应用外部存储空间 获取方法: File file = Environment.getExternalStorageDirectory() , 路径 : /storage/emulated/0 或 /sdcard 。
2 应用外部存储空间 获取方法: File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);存储路径 : /storage/emulated/0/Pictures 或 sdcard/Pictures 。这个目录是用来存放各种类型的文件的目录,在这里用户可以分类管理不同类型的文件(例如音乐、图片、电影等);
类型如下: DIRECTORY_MUSIC, DIRECTORY_PODCASTS, DIRECTORY_RINGTONES, DIRECTORY_ALARMS, DIRECTORY_NOTIFICATIONS, DIRECTORY_PICTURES, DIRECTORY_MOVIES, DIRECTORY_DOWNLOADS, DIRECTORY_DCIM, or DIRECTORY_DOCUMENTS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值