Android studio外部存储代码
时间: 2024-10-23 15:00:21 浏览: 16
在Android Studio中,访问外部存储通常分为两个路径:内部存储(Internal Storage)和外部存储(External Storage)。这里简述如何操作:
1. **内部存储**(Internal Storage):
- 对于应用数据,一般建议使用`getFilesDir()`或`getCacheDir()`获取私有目录,这是应用内部的一部分,不会因卸载应用而丢失数据。
```java
File appDataDir = getFilesDir();
```
2. **外部存储**(External Storage, 分两种情况):
- **读取**: 使用`Environment.getExternalStorageDirectory()`获取外部存储根目录。需要注意的是,在API级别23(Marshmallow)及以上,需先请求用户的权限,并检查`ACTION_EXTERNAL_STORAGE`权限是否已被授予。
```java
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// Check for permission
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
// Request permission
}
File externalStorageDir = Environment.getExternalStorageDirectory();
} else {
// Before Marshmallow, you can directly access external storage
File externalStorageDir = Environment.getExternalStorageDirectory();
}
File file = new File(externalStorageDir, "myfile.txt");
```
- **写入**: 需要注意,外部存储并非总是可用的,而且可能会因为设备设置、用户选择等因素变化。最好还是提供一种机制让用户选择保存位置(如通过文件浏览器界面)。
3. **外部存储 SD 卡**:
- 对于早期版本的Android,SD卡可能是可用的外部存储。但在现代设备上,SD卡并不常见,因此推荐优先使用外部存储(如果可用的话)。
阅读全文