您的位置:首页 > 房产 > 家装 > Android之外部存储可以访问哪些文件夹

Android之外部存储可以访问哪些文件夹

2024/10/6 0:36:56 来源:https://blog.csdn.net/Sh_12345/article/details/141922885  浏览:    关键词:Android之外部存储可以访问哪些文件夹

目录

  • 内部存储(Internal Storage)
  • 外部存储(读取权限)
    • 外部存储的公共文件夹
    • 访问外部存储公共文件夹
    • 访问外部存储的权限
    • 访问应用私有的外部存储目录
    • 访问和管理文件
  • 总结

在 Android 设备上,外部存储(External Storage)指的是设备的外部存储空间,可以是内置的存储(如内部 SD 卡)或可移动的存储(如外部 SD 卡)。外部存储通常用于存储需要长期保留的文件,如照片、视频和文档等。Android 提供了一些标准的公共文件夹,用于特定类型的文件存储。

Android应用程序可以访问以下几个外部存储的文件夹:

内部存储(Internal Storage)

  • /data/data/<app_package>/files/: 应用程序自身的私有目录,通常用于存储应用缓存、用户生成的数据等。
  • /data/data/<app_package>/cache/: 应用的缓存文件夹,用于临时存储数据。

外部存储(读取权限)

/storage/emulated/0/: 手机的默认外部存储,需要用户授权才能访问。这包括DCIM(图片)、Documents(文档)、Download(下载)等子目录。
/storage/sdcard/: 如果设备支持SD卡,Android系统会将其视为外部存储,不过现代手机大多将此路径归入/storage/emulated/0。

外部存储的公共文件夹

以下是一些常见的外部存储公共文件夹,这些文件夹通常位于 /storage/emulated/0/ 路径下

  1. Environment.DIRECTORY_MUSIC:存储音乐文件。
  2. Environment.DIRECTORY_PODCASTS:存储播客文件。
  3. Environment.DIRECTORY_RINGTONES:存储铃声文件。
  4. Environment.DIRECTORY_ALARMS:存储闹铃文件。
  5. Environment.DIRECTORY_NOTIFICATIONS:存储通知音文件。
  6. Environment.DIRECTORY_PICTURES:存储图片文件。
  7. Environment.DIRECTORY_MOVIES:存储视频文件。
  8. Environment.DIRECTORY_DOWNLOADS:存储下载的文件。
  9. Environment.DIRECTORY_DCIM:存储相机拍摄的照片和视频。
  10. Environment.DIRECTORY_DOCUMENTS:存储文档文件。

访问外部存储公共文件夹

要访问这些公共文件夹,可以使用 Environment 类提供的方法。例如,要获取图片文件夹的路径,可以使用以下代码:

File picturesDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);

访问外部存储的权限

在访问外部存储时,需要申请相应的权限。在 Android 6.0 (API 级别 23) 及以上版本,需要在运行时动态申请权限。
在 AndroidManifest.xml 中声明权限

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

在代码中动态申请权限:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_WRITE_STORAGE);
}

访问应用私有的外部存储目录

除了公共文件夹,Android 还允许应用在外部存储中创建私有目录。私有目录在应用被卸载时会自动删除。

File appExternalFilesDir = getExternalFilesDir(null); // 获取应用私有外部存储根目录
File appExternalPicturesDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES); // 获取应用私有外部存储图片目录

访问和管理文件

一旦获得了文件夹路径,可以使用标准的文件 I/O 操作来访问和管理文件。例如,创建一个文件并写入内容:

File file = new File(picturesDir, "example.txt");
try (FileOutputStream fos = new FileOutputStream(file)) {fos.write("Hello, World!".getBytes());
} catch (IOException e) {e.printStackTrace();
}

总结

在 Android 中,外部存储提供了一些标准的公共文件夹,用于存储特定类型的文件。通过使用 Environment 类和适当的权限管理,可以方便地访问和管理这些文件夹。对于需要长期保留的文件,如照片、视频和文档,外部存储是一个理想的选择。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com