鸿蒙OS开发文档 鸿蒙OS 数据存储管理开发指导

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 2

场景介绍

为了给用户展示存储设备信息,开发者可以使用数据存储管理接口获取存储设备视图信息,也可以根据用户提供的文件名获取对应存储设备的视图信息。

开放能力介绍

数据存储管理为开发者提供下面几种功能,具体的API参考。

功能分类类名接口名描述
查询设备视图ohos.data.usage.DataUsagegetVolumes()获取当前用户可用的设备列表视图。
getVolume(File file)获取存储该文件的存储设备视图。
getVolume(Context context, Uri uri)获取该URI对应文件所在的存储设备视图。
getDiskMountedStatus()获取默认存储设备的挂载状态。
getDiskMountedStatus(File path)获取存储该文件设备的挂载状态。
isDiskPluggable()默认存储设备是否为可插拔设备。
isDiskPluggable(File path)存储该文件的设备是否为可插拔设备。
isDiskEmulated()默认存储设备是否为虚拟设备。
isDiskEmulated(File path)存储该文件的设备是否为虚拟设备。
查询设备视图属性ohos.data.usage.VolumeisEmulated()该设备是否是虚拟存储设备。
isPluggable()该设备是否支持插拔。
getDescription()获取设备描述信息。
getState()获取设备挂载状态。
getVolUuid()获取设备唯一标识符。

开发步骤

查询设备视图

调用查询设备视图接口。

// 获取默认存储设备挂载状态
MountState status = DataUsage.getDiskMountedStatus();
// 获取存储设备列表
Optional<List<Volume>> list = DataUsage.getVolumes();
// 默认存储设备是否为可插拔设备
boolean pluggable = DataUsage.isDiskPluggable();

查询设备视图属性

  1. 调用查询设备视图接口获取某个设备视图 Volume。
  1. 调用 Volume 的接口即可查询视图属性。
// 获取example.txt 文件所在的存储设备的视图属性
Optional<Volume> volume = DataUsage.getVolume(new File("/sdcard/example.txt"));
volume.ifPresent(theVolume -> {
System.out.println(theVolume.isEmulated());
System.out.println(theVolume.isPluggable());
System.out.println(theVolume.getDescription());
System.out.println(theVolume.getVolUuid());
}
);