鴻蒙OS 數(shù)據(jù)存儲(chǔ)管理開發(fā)指導(dǎo)

2020-09-18 17:52 更新

場(chǎng)景介紹

為了給用戶展示存儲(chǔ)設(shè)備信息,開發(fā)者可以使用數(shù)據(jù)存儲(chǔ)管理接口獲取存儲(chǔ)設(shè)備視圖信息,也可以根據(jù)用戶提供的文件名獲取對(duì)應(yīng)存儲(chǔ)設(shè)備的視圖信息。

開放能力介紹

數(shù)據(jù)存儲(chǔ)管理為開發(fā)者提供下面幾種功能,具體的API參考。

功能分類 類名 接口名 描述
查詢?cè)O(shè)備視圖 ohos.data.usage.DataUsage getVolumes() 獲取當(dāng)前用戶可用的設(shè)備列表視圖。
getVolume(File file) 獲取存儲(chǔ)該文件的存儲(chǔ)設(shè)備視圖。
getVolume(Context context, Uri uri) 獲取該URI對(duì)應(yīng)文件所在的存儲(chǔ)設(shè)備視圖。
getDiskMountedStatus() 獲取默認(rèn)存儲(chǔ)設(shè)備的掛載狀態(tài)。
getDiskMountedStatus(File path) 獲取存儲(chǔ)該文件設(shè)備的掛載狀態(tài)。
isDiskPluggable() 默認(rèn)存儲(chǔ)設(shè)備是否為可插拔設(shè)備。
isDiskPluggable(File path) 存儲(chǔ)該文件的設(shè)備是否為可插拔設(shè)備。
isDiskEmulated() 默認(rèn)存儲(chǔ)設(shè)備是否為虛擬設(shè)備。
isDiskEmulated(File path) 存儲(chǔ)該文件的設(shè)備是否為虛擬設(shè)備。
查詢?cè)O(shè)備視圖屬性 ohos.data.usage.Volume isEmulated() 該設(shè)備是否是虛擬存儲(chǔ)設(shè)備。
isPluggable() 該設(shè)備是否支持插拔。
getDescription() 獲取設(shè)備描述信息。
getState() 獲取設(shè)備掛載狀態(tài)。
getVolUuid() 獲取設(shè)備唯一標(biāo)識(shí)符。

開發(fā)步驟

查詢?cè)O(shè)備視圖

調(diào)用查詢?cè)O(shè)備視圖接口。

// 獲取默認(rèn)存儲(chǔ)設(shè)備掛載狀態(tài)
MountState status = DataUsage.getDiskMountedStatus();
// 獲取存儲(chǔ)設(shè)備列表
Optional<List<Volume>> list = DataUsage.getVolumes();
// 默認(rèn)存儲(chǔ)設(shè)備是否為可插拔設(shè)備
boolean pluggable = DataUsage.isDiskPluggable();

查詢?cè)O(shè)備視圖屬性

  1. 調(diào)用查詢?cè)O(shè)備視圖接口獲取某個(gè)設(shè)備視圖 Volume。

  1. 調(diào)用 Volume 的接口即可查詢視圖屬性。

   // 獲取example.txt 文件所在的存儲(chǔ)設(shè)備的視圖屬性
   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());
       }
   );
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)