js-apis-storage-statistics.md 6.4 KB
Newer Older
1 2 3
# 应用空间统计

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
Z
zhangxingxia 已提交
4 5
>
> - 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zhangxingxia 已提交
6
> - API 9当前为Canary版本,仅供试用,不保证接口可稳定调用。
Z
zhangxingxia 已提交
7 8 9
> - 本模块接口为系统接口,三方应用不支持调用。

该模块提供空间查询相关的常用功能:包括对内外卡的空间查询,对应用分类数据统计的查询,对应用数据的查询等。
10 11 12 13

## 导入模块

```js
Z
zhangxingxia 已提交
14
import storagestatistics from "@ohos.storageStatistics";
15 16 17 18
```

## storagestatistics.getTotalSizeOfVolume

Z
zhangxingxia 已提交
19
getTotalSizeOfVolume(volumeUuid: string): Promise<number>
20 21 22

异步获取指定卷的总空间大小,以promise方式返回。

23 24
**系统能力**:SystemCapability.FileManagement.StorageService.SpatialStatistics

25 26 27 28 29 30 31 32
- 参数

  | 参数名     | 类型   | 必填 | 说明 |
  | ---------- | ------ | ---- | ---- |
  | volumeUuid | string | 是   | 卷id |

- 返回值

Z
zhangxingxia 已提交
33 34 35
  | 类型                  | 说明             |
  | --------------------- | ---------------- |
  | Promise<number> | 返回指定卷总空间 |
36 37 38 39 40 41

- 示例

  ```js
  let uuid = "";
  storagestatistics.getTotalSizeOfVolume(uuid).then(function(number){
Z
zhangxingxia 已提交
42 43 44
      console.info("getTotalSizeOfVolume successfully:"+ number);
  }).catch(function(err){
      console.info("getTotalSizeOfVolume failed with error:"+ err);
45 46 47 48 49
  });
  ```

## storagestatistics.getTotalSizeOfVolume

Z
zhangxingxia 已提交
50
getTotalSizeOfVolume(volumeUuid: string, callback:AsyncCallback<number>):void
51 52 53

异步获取指定卷的总空间大小,以callback方式返回。

54 55
**系统能力**:SystemCapability.FileManagement.StorageService.SpatialStatistics

56 57
- 参数

Z
zhangxingxia 已提交
58 59 60 61
  | 参数名     | 类型                                 | 必填 | 说明                       |
  | ---------- | ------------------------------------ | ---- | -------------------------- |
  | volumeUuid | string                               | 是   | 卷id                       |
  | callback   | callback:AsyncCallback<number> | 是   | 获取指定卷总空间之后的回调 |
62 63 64 65 66 67 68

- 示例

  ```js
  let uuid = "";
  storagestatistics.getTotalSizeOfVolume(uuid, function(error, number){
      // do something
Z
zhangxingxia 已提交
69
      console.info("getTotalSizeOfVolume successfully:"+ number);
70 71
  });
  ```
Z
zhangxingxia 已提交
72
  
73 74 75 76
  

## storagestatistics.getFreeSizeOfVolume

Z
zhangxingxia 已提交
77
getFreeSizeOfVolume(volumeUuid: string): Promise<number>
78 79 80

异步获取指定卷的可用空间大小,以promise方式返回。

81 82
**系统能力**:SystemCapability.FileManagement.StorageService.SpatialStatistics

83 84 85 86 87 88 89 90
- 参数

  | 参数名     | 类型   | 必填 | 说明 |
  | ---------- | ------ | ---- | ---- |
  | volumeUuid | string | 是   | 卷id |

- 返回值

Z
zhangxingxia 已提交
91 92 93
  | 类型                  | 说明               |
  | --------------------- | ------------------ |
  | Promise<number> | 返回指定卷可用空间 |
94 95 96 97 98 99

- 示例

  ```js
  let uuid = "";
  storagestatistics.getFreeSizeOfVolume(uuid).then(function(number){
Z
zhangxingxia 已提交
100 101 102
      console.info("getFreeSizeOfVolume successfully:"+ number);
  }).catch(function(err){
      console.info("getFreeSizeOfVolume failed with error:"+ err);
103
  });
Z
zhangxingxia 已提交
104
  
105 106 107 108
  ```

## storagestatistics.getFreeSizeOfVolume

Z
zhangxingxia 已提交
109
getFreeSizeOfVolume(volumeUuid: string, callback:AsyncCallback<number>):void
110 111 112

异步获取指定卷的可用空间大小,以callback方式返回。

113 114
**系统能力**:SystemCapability.FileManagement.StorageService.SpatialStatistics

115 116
- 参数

Z
zhangxingxia 已提交
117 118 119 120
  | 参数名     | 类型                                 | 必填 | 说明                         |
  | ---------- | ------------------------------------ | ---- | ---------------------------- |
  | volumeUuid | string                               | 是   | 卷id                         |
  | callback   | callback:AsyncCallback<number> | 是   | 获取指定卷可用空间之后的回调 |
121 122 123 124 125 126 127

- 示例

  ```js
  let uuid = "";
  storagestatistics.getFreeSizeOfVolume(uuid, function(error, number){
      // do something
Z
zhangxingxia 已提交
128
      console.info("getFreeSizeOfVolume successfully:"+ number);
129 130 131
  });
  ```

132
## storagestatistics.getBundleStats<sup>9+</sup>
133

134
getBundleStats(packageName: string): Promise&lt;BundleStats&gt;
135

Z
zhangxingxia 已提交
136
异步获取应用存储数据,以promise方式返回。
137

138 139
**系统能力**:SystemCapability.FileManagement.StorageService.SpatialStatistics

140 141 142 143 144
- 参数

  | 参数名      | 类型   | 必填 | 说明     |
  | ----------- | ------ | ---- | -------- |
  | packageName | string | 是   | 应用包名 |
Z
zhangxingxia 已提交
145
  
146 147 148 149
- 返回值

  | 类型                                       | 说明                       |
  | ------------------------------------------ | -------------------------- |
Z
zhangxingxia 已提交
150
  | Promise&lt;[Bundlestats](#bundlestats)&gt; | 返回指定卷上的应用存储数据 |
151 152 153 154 155

- 示例

  ```js
  let packageName = "";
Z
zhangxingxia 已提交
156
  storagestatistics.getBundleStats(packageName).then(function(BundleStats){
Z
zhangxingxia 已提交
157 158 159
      console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats));
  }).catch(function(err){
      console.info("getBundleStats failed with error:"+ err);
160 161 162
  });
  ```

163
## storagestatistics.getBundleStats<sup>9+</sup>
164

165
getBundleStats(packageName: string,  callback: AsyncCallback&lt;BundleStats&gt;): void
166

Z
zhangxingxia 已提交
167
异步获取应用存储数据,以callback方式返回。
168

169 170
**系统能力**:SystemCapability.FileManagement.StorageService.SpatialStatistics

171 172
- 参数

Z
zhangxingxia 已提交
173 174
  | 参数名   | 类型                                                      | 必填 | 说明                                 |
  | -------- | --------------------------------------------------------- | ---- | ------------------------------------ |
175
  | packageName | string | 是   | 应用包名 |
Z
zhangxingxia 已提交
176
  | callback | callback:AsyncCallback&lt;[Bundlestats](#bundlestats)&gt; | 是   | 获取指定卷上的应用存储数据之后的回调 |
Z
zhangxingxia 已提交
177
  
178 179 180 181
- 示例

  ```js
  let packageName = "";
Z
zhangxingxia 已提交
182
  storagestatistics.getBundleStats(packageName, function(error, BundleStats){
183
      // do something
Z
zhangxingxia 已提交
184
      console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats));
185 186 187
  });
  ```

188
## BundleStats<sup>9+</sup>
189

190 191
**系统能力**:以下各项对应的系统能力均为SystemCapability.FileManagement.StorageService.SpatialStatistics。

192 193 194 195
### 属性

| 名称      | 类型   | 说明           |
| --------- | ------ | -------------- |
196 197 198
| appSize<sup>9+</sup>   | number | app数据大小    |
| cacheSize<sup>9+</sup> | number | 缓存数据大小   |
| dataSize<sup>9+</sup>  | number | 应用总数据大小 |