权限授予
在进行数据文件的操作之前,我们首先注册一下我们用户存储读取权限
"reqPermissions": [
{
"name": "ohos.permission.READ_USER_STORAGE"
}
]
用户权限确认
//1、读取权限设置(项目配置和用户确认)
String[] permission = {"ohos.permission.READ_USER_STORAGE"};
requestPermissionsFromUser(permission, 0);
开始循环遍历用户存储中的图片
/**
* 获取查询的结果集
* 第一个参数为文件对应的Uri
* 第二个参数为想要查询的字段,这里因为是查询所有的图片,所以填null即可
* 第三个参数为查询条件,同样为null
*/
ResultSet resultSet = dataAbilityHelper.query(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI, null, null);
//遍历结果集
while(resultSet != null && resultSet.goToNextRow()){
//通过指定的下标获取列索引,通过获得的列索引获取到该图片的资源id。
int mediaId = resultSet.getInt(resultSet.getColumnIndexForName(AVStorage.Images.Media.ID));
//将图片id转换为Uri类型
Uri uri = Uri.appendEncodedPathToUri(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI, mediaId + "");
}
其中AVStorage
类可以获取到用户存储的数据URI
索引集合,详情查看官方API
文档,点击跳转