网站服务器搭建与管理,wordpress优惠券采集,天津常规网站建设系列,企业查询官网入口查询免费Android 访问存储卡#xff08;即外部存储#xff09;通常涉及以下三种主要的目录#xff1a;
1. 外部存储公共目录 (Public External Storage)
这些目录对所有应用都是可见的#xff0c;并且不需要任何特殊权限来读取媒体文件。但是从Android 10#xff08;API 级别 29…Android 访问存储卡即外部存储通常涉及以下三种主要的目录
1. 外部存储公共目录 (Public External Storage)
这些目录对所有应用都是可见的并且不需要任何特殊权限来读取媒体文件。但是从Android 10API 级别 29开始如果要写入这些目录则需要WRITE_EXTERNAL_STORAGE权限并且访问路径可能受到某些限制。 获取方法使用Environment.getExternalStoragePublicDirectory()方法传入一个类型参数如Environment.DIRECTORY_PICTURES或Environment.DIRECTORY_MUSIC等。 特点适合保存用户希望长期保留并可以与其他应用共享的文件如照片、音乐等。
2. 外部存储应用特定目录 (App-specific External Storage)
这些目录是应用专属的在应用卸载后会自动删除里面的内容。不需要任何权限即可读写这些目录中的文件。 获取方法通过调用Context.getExternalFilesDir()方法获取。它可以传入一个类型参数例如Context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)或者传入null来访问根目录。 特点适合存储应用的临时缓存数据或不需要与其他应用共享的大型文件。
3. 外部存储缓存目录 (External Cache Directory)
这是用于存储临时缓存文件的目录。系统可能在存储空间不足时删除这些缓存文件。 获取方法通过调用Context.getExternalCacheDir()来访问。 特点适合存放应用运行过程中产生的临时缓存文件。
使用方面的区别 权限 公共目录从Android 4.4开始不需要权限就可以读取媒体文件但Android 10及更高版本对文件写入做了限制。应用特定目录和缓存目录不需要任何权限就可以进行读写操作。 数据持久性 公共目录文件通常被保留直到用户手动删除它们。应用特定目录和缓存目录当应用被卸载时其中的文件会被自动删除。 共享性 公共目录文件可以被用户和其他应用访问。应用特定目录虽然理论上其他应用也可以访问但实际上主要是为当前应用服务的其他应用通常不会去访问。 隐私性 公共目录由于所有应用都可以访问所以隐私性较差。应用特定目录相对私密不易被其他应用访问。 存储策略 公共目录建议仅存储用户主动创建或明确希望与他人分享的文件。应用特定目录适合存储应用的核心数据和不需共享的大型资源文件。缓存目录适合存储临时文件应用必须能够处理这些文件被系统删除的情况。 Android 10API 级别 29以上的存储变更 引入分区存储Scoped Storage限制了对外部存储的全局访问强制应用使用自己的应用特定目录或通过MediaStore API访问共享文件类型。
开发者在选择存储位置时应该考虑到这些区别并基于用户的数据隐私以及文件的用途选择正确的存储路径。
另外更全的介绍 《Android 文件存储系统》