codecamp

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

场景介绍

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

开放能力介绍

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

功能分类 类名 接口名 描述
查询设备视图 ohos.data.usage.DataUsage getVolumes() 获取当前用户可用的设备列表视图。
getVolume(File file) 获取存储该文件的存储设备视图。
getVolume(Context context, Uri uri) 获取该URI对应文件所在的存储设备视图。
getDiskMountedStatus() 获取默认存储设备的挂载状态。
getDiskMountedStatus(File path) 获取存储该文件设备的挂载状态。
isDiskPluggable() 默认存储设备是否为可插拔设备。
isDiskPluggable(File path) 存储该文件的设备是否为可插拔设备。
isDiskEmulated() 默认存储设备是否为虚拟设备。
isDiskEmulated(File path) 存储该文件的设备是否为虚拟设备。
查询设备视图属性 ohos.data.usage.Volume isEmulated() 该设备是否是虚拟存储设备。
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());
       }
   );
鸿蒙OS 数据存储管理概述
鸿蒙OS 车机
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }