如何在 Android 9 中创建外部存储目录

在 Android 9 及以上版本中,外部存储的访问权限变得更加严格,特别是在访问文件系统的特定部分时。因此,作为一名刚入行的小白,了解如何在 Android 9 中创建外部存储目录至关重要。本篇文章将详细阐述这个过程,包括所需的步骤和代码示例。

流程概述

以下表格展示了创建外部存储目录的主要步骤:

步骤描述
1确定外部存储的路径
2请求应用权限
3创建目录
4验证目录是否创建成功

详细步骤

步骤1:确定外部存储的路径

在 Android 中,你可以使用以下方式获取外部存储的路径:

File externalStorageDir = Environment.getExternalStorageDirectory();
// 获取外部存储的根目录
  • 1.
  • 2.
步骤2:请求应用权限

在 Android 9 及以上版本中,需要明确请求权限以访问外部存储。你可以在 AndroidManifest.xml 中添加如下权限:

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

在运行时,请求权限的代码如下:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
}
// 检查并请求写入外部存储权限
  • 1.
  • 2.
  • 3.
  • 4.
步骤3:创建目录

一旦获取了所需权限,你可以创建一个新的目录。以下是创建目录的代码示例:

String dirName = "MyNewDirectory";  // 目录名称
File customDir = new File(externalStorageDir, dirName);

if (!customDir.exists()) {
    boolean isCreated = customDir.mkdirs(); // 创建目录
    if (isCreated) {
        Log.d("Directory", "Directory Created: " + customDir.getAbsolutePath());
    } else {
        Log.e("Directory", "Directory Creation Failed");
    }
} else {
    Log.d("Directory", "Directory Already Exists: " + customDir.getAbsolutePath());
}
// 检查目录是否已存在,如果不存在则创建目录
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
步骤4:验证目录是否创建成功

我们可以通过日志来验证目录是否已成功创建,代码示例如下:

if (customDir.exists()) {
    Log.d("Directory", "Directory exists: " + customDir.getAbsolutePath());
} else {
    Log.e("Directory", "Directory does not exist!");
}
// 验证目录是否创建成功
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

甘特图

下面的甘特图展示了创建外部存储目录的过程时间线:

创建外部存储目录的时间线 2023-10-01 2023-10-01 2023-10-02 2023-10-02 2023-10-03 2023-10-03 2023-10-04 2023-10-04 2023-10-05 2023-10-05 2023-10-06 确定外部存储路径 请求应用权限 创建目录 验证目录创建成功 步骤 创建外部存储目录的时间线

结论

通过以上步骤,你应该能够在 Android 9 中成功创建外部存储目录,并对代码有更深入的理解。记住,运行时申请权限是关键步骤,确保在创建目录之前已获得所需的权限。随着经验的增长,进一步了解 Android 存储机制的不同选项会大大帮助你的开发工作。在实践中,建议经常参考 Android 官方文档和 Stack Overflow 等社区,以增强你的技能。如果你有任何问题,欢迎在评论区留言,相信你会在 Android 开发的旅程中越走越远!