js-apis-inner-ability-dataAbilityHelper.md 36.1 KB
Newer Older
Z
zengyawen 已提交
1
# DataAbilityHelper
M
m00512953 已提交
2

Z
zhongjianfei 已提交
3 4
可以通过[acquireDataAbilityHelper](js-apis-ability-featureAbility.md#featureabilityacquiredataabilityhelper7)接口获取DataAbilityHelper对象。

M
m00512953 已提交
5 6 7 8 9 10 11 12 13
> **说明:**
> 
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。  
> 本模块接口仅可在FA模型下使用。

## 使用说明

使用前根据具体情况引入如下模块
```ts
D
dingyao (A) 已提交
14 15
import ohos_data_ability from '@ohos.data.dataAbility';
import ohos_data_rdb from '@ohos.data.rdb';
M
m00512953 已提交
16 17 18 19 20 21
```

## DataAbilityHelper.openFile

openFile(uri: string, mode: string, callback: AsyncCallback\<number>): void

D
dy_study 已提交
22
打开指定uri对应的文件,返回文件描述符(callback形式)。
M
m00512953 已提交
23 24 25 26 27 28 29

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名     | 类型                   | 必填 | 说明                               |
| -------- | ---------------------- | ---- | ---------------------------------- |
D
dy_study 已提交
30 31 32
| uri      | string                 | 是   | 指示待打开文件的uri。           |
| mode     | string                 | 是   | 指示文件打开模式,可以设置为‘r’表示只读访问,‘w’表示只写访问,‘rw’表示读写访问等。            |
| callback | AsyncCallback\<number> | 是   | 指示文件打开的回调方法,返回文件描述符。 |
M
m00512953 已提交
33 34 35 36

**示例:**

```ts
D
dingyao (A) 已提交
37
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
38
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
39
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
40
);
M
mingxihua 已提交
41 42
let mode = 'rw';
DAHelper.openFile('dataability:///com.example.DataAbility', mode, (err, data) => {
M
mingxihua 已提交
43
    console.info('openFile err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
44 45 46 47 48 49 50
});
```

## DataAbilityHelper.openFile

openFile(uri: string, mode: string): Promise\<number>

D
dy_study 已提交
51
打开指定uri对应的文件,返回文件描述符(promise形式)。
M
m00512953 已提交
52 53 54 55 56 57 58

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名 | 类型   | 必填 | 说明                     |
| ---- | ------ | ---- | ------------------------ |
D
dy_study 已提交
59 60
| uri  | string | 是   | 指示待打开文件的uri。 |
| mode | string | 是   | 指示文件打开模式,可以设置为‘r’表示只读访问,‘w’表示只写访问,‘rw’表示读写访问等。  |
M
m00512953 已提交
61 62 63 64 65 66 67 68 69 70

**返回值:**

| 类型             | 说明             |
| ---------------- | ---------------- |
| Promise\<number> | 返回文件说明符。 |

**示例:**

```ts
D
dingyao (A) 已提交
71
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
72
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
73
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
74
);
M
mingxihua 已提交
75 76
let mode = 'rw';
DAHelper.openFile('dataability:///com.example.DataAbility', mode).then((data) => {
M
mingxihua 已提交
77
    console.info('openFile data: ${JSON.stringify(data)}');
M
m00512953 已提交
78 79 80 81 82 83 84
});
```

## DataAbilityHelper.on

on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void

D
dingyao (A) 已提交
85
注册观察者以监听uri指定数据的数据变化通知。
M
m00512953 已提交
86 87 88 89 90 91 92

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
M
mingxihua 已提交
93
| type     | string               | 是   | 指示监听操作类型,'dataChange'表示数据变化操作。               |
D
dingyao (A) 已提交
94 95
| uri      | string               | 是   | 指示待监听数据变化的uri。 |
| callback | AsyncCallback\<void> | 是   | 指示数据变化时的回调方法。   |
M
m00512953 已提交
96 97 98 99

**示例:**

```ts
D
dingyao (A) 已提交
100
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
101
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
102
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
103 104
);
function onChangeNotify() {
M
mingxihua 已提交
105
    console.info('onChangeNotify call back');
M
m00512953 已提交
106
};
D
dy_study 已提交
107
DAHelper.on(
M
mingxihua 已提交
108 109
    'dataChange',
    'dataability:///com.example.DataAbility',
M
m00512953 已提交
110
    onChangeNotify
D
dingyao (A) 已提交
111
);
M
m00512953 已提交
112 113 114 115 116 117
```

## DataAbilityHelper.off

off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void

D
dingyao (A) 已提交
118
注消观察者以停止监听uri指定数据的数据变化通知。
M
m00512953 已提交
119 120 121 122 123 124 125

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
M
mingxihua 已提交
126
| type     | string               | 是   | 指示监听操作类型,'dataChange'表示数据变化操作。               |
D
dingyao (A) 已提交
127 128
| uri      | string               | 是   | 指示待取消监听数据变化的uri。 |
| callback | AsyncCallback\<void> | 否   | 指示已注册的数据变化回调方法。如果设置数据变化回调为空,将会取消所有数据变化监听。       |
M
m00512953 已提交
129 130 131 132

**示例:**

```ts
D
dingyao (A) 已提交
133
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
134
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
135
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
136 137
);
function onChangeNotify() {
M
mingxihua 已提交
138
    console.info('onChangeNotify call back');
M
m00512953 已提交
139
};
D
dy_study 已提交
140
DAHelper.off(
M
mingxihua 已提交
141 142
    'dataChange',
    'dataability:///com.example.DataAbility',
D
dy_study 已提交
143
    onChangeNotify
D
dingyao (A) 已提交
144
);
D
dy_study 已提交
145
DAHelper.off(
M
mingxihua 已提交
146 147
    'dataChange',
    'dataability:///com.example.DataAbility',
D
dingyao (A) 已提交
148
);
M
m00512953 已提交
149 150 151 152 153 154
```

## DataAbilityHelper.getType

getType(uri: string, callback: AsyncCallback\<string>): void

D
dy_study 已提交
155
获取给定uri指向数据的媒体资源类型(callback形式)。
M
m00512953 已提交
156 157 158 159 160 161 162

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名     | 类型                   | 必填 | 说明                                          |
| -------- | ---------------------- | ---- | --------------------------------------------- |
D
dy_study 已提交
163
| uri      | string                 | 是   | 指示待获取数据的uri。                      |
D
dingyao (A) 已提交
164
| callback | AsyncCallback\<string> | 是   | 指示获取媒体资源类型的回调方法,返回与uri指向数据匹配的媒体资源类型。 |
M
m00512953 已提交
165 166 167 168

**示例:**

```ts
D
dingyao (A) 已提交
169
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
170
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
171
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
172
);
M
mingxihua 已提交
173
DAHelper.getType('dataability:///com.example.DataAbility', (err, data) => {
M
mingxihua 已提交
174
    console.info('getType err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
175 176 177 178 179 180 181
});
```

## DataAbilityHelper.getType

getType(uri: string): Promise\<string>

D
dy_study 已提交
182
获取给定uri指向数据的媒体资源类型(Promise形式)。
M
m00512953 已提交
183 184 185 186 187 188 189

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名 | 类型   | 必填 | 说明                     |
| ---- | ------ | ---- | ------------------------ |
D
dy_study 已提交
190
| uri  | string | 是   | 指示待获取数据的uri。 |
M
m00512953 已提交
191 192 193 194 195

**返回值:**

| 类型             | 说明                                |
| ---------------- | ----------------------------------- |
D
dy_study 已提交
196
| Promise\<string> | 返回与uri指向数据匹配的媒体资源类型。 |
M
m00512953 已提交
197 198 199 200

**示例:**

```ts
D
dingyao (A) 已提交
201
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
202
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
203
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
204
);
M
mingxihua 已提交
205
DAHelper.getType('dataability:///com.example.DataAbility').then((data) => {
M
mingxihua 已提交
206
    console.info('getType data: ${JSON.stringify(data)}');
M
m00512953 已提交
207 208 209 210 211 212 213
});
```

## DataAbilityHelper.getFileTypes

getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\<string>>): void

D
dingyao (A) 已提交
214
获取支持的文件媒体资源类型(callback形式)。
M
m00512953 已提交
215 216 217 218 219 220 221

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名           | 类型                           | 必填 | 说明                               |
| -------------- | ------------------------------ | ---- | ---------------------------------- |
D
dingyao (A) 已提交
222 223 224
| uri            | string                         | 是   | 指示待获取文件的uri。           |
| mimeTypeFilter | string                         | 是   | 指示待获取文件的媒体资源类型。       |
| callback       | AsyncCallback\<Array\<string>> | 是   | 指示获取媒体资源类型的回调方法,返回匹配的媒体资源类型数组。 |
M
m00512953 已提交
225 226 227 228

**示例:**

```ts
D
dingyao (A) 已提交
229
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
230
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
231
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
232
);
M
mingxihua 已提交
233
DAHelper.getFileTypes( 'dataability:///com.example.DataAbility', 'image/*', (err, data) => {
M
mingxihua 已提交
234
    console.info('getFileTypes err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
235 236 237 238 239 240 241
});
```

## DataAbilityHelper.getFileTypes

getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>>

D
dingyao (A) 已提交
242
获取支持的文件媒体资源类型(Promise形式)。
M
m00512953 已提交
243 244 245 246 247 248 249

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名           | 类型   | 必填 | 说明                         |
| -------------- | ------ | ---- | ---------------------------- |
D
dingyao (A) 已提交
250 251
| uri            | string | 是   | 指示待获取文件的uri。     |
| mimeTypeFilter | string | 是   | 指示待获取文件的媒体资源类型。 |
M
m00512953 已提交
252 253 254 255 256

**返回值:**

| 类型                     | 说明                     |
| ------------------------ | ------------------------ |
D
dy_study 已提交
257
| Promise\<Array\<string>> | 返回匹配的媒体资源类型数组。 |
M
m00512953 已提交
258 259 260 261

**示例:**

```ts
D
dingyao (A) 已提交
262
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
263
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
264
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
265
);
M
mingxihua 已提交
266
DAHelper.getFileTypes('dataability:///com.example.DataAbility', 'image/*').then((data) => {
M
mingxihua 已提交
267
    console.info('getFileTypes data: ${JSON.stringify(data)}');
M
m00512953 已提交
268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283
});
```

## DataAbilityHelper.normalizeUri

normalizeUri(uri: string, callback: AsyncCallback\<string>): void

将引用数据功能的给定uri转换为规范化uri(callback形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名     | 类型                   | 必填 | 说明                                                         |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| uri      | string                 | 是   | 指示要规范化的uri对象。                                      |
D
dingyao (A) 已提交
284
| callback | AsyncCallback\<string> | 是   | 指示uri规范化的回调方法。如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 |
M
m00512953 已提交
285 286 287 288

**示例:**

```ts
D
dingyao (A) 已提交
289
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
290
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
291
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
292
);
M
mingxihua 已提交
293
DAHelper.normalizeUri('dataability:///com.example.DataAbility', (err, data) => {
M
mingxihua 已提交
294
    console.info('normalizeUri err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320
});
```

## DataAbilityHelper.normalizeUri

normalizeUri(uri: string): Promise\<string>

将引用数据功能的给定uri转换为规范化uri(Promise形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名 | 类型   | 必填 | 说明                    |
| ---- | ------ | ---- | ----------------------- |
| uri  | string | 是   | 指示要规范化的uri对象。 |

**返回值:**

| 类型             | 说明                                                   |
| ---------------- | ------------------------------------------------------ |
| Promise\<string> | 如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 |

**示例:**

```ts
D
dingyao (A) 已提交
321
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
322
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
323
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
324
);
M
mingxihua 已提交
325
DAHelper.normalizeUri('dataability:///com.example.DataAbility',).then((data) => {
M
mingxihua 已提交
326
    console.info('normalizeUri data: ${JSON.stringify(data)}');
M
m00512953 已提交
327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
});
```

## DataAbilityHelper.denormalizeUri

denormalizeUri(uri: string, callback: AsyncCallback\<string>): void

将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名     | 类型                   | 必填 | 说明                                                |
| -------- | ---------------------- | ---- | --------------------------------------------------- |
D
dingyao (A) 已提交
342 343
| uri      | string                 | 是   | 指示要反规范化的uri对象。                             |
| callback | AsyncCallback\<string> | 是   | 指示反规范化uri的回调方法。如果反规范化成功,则返回反规范化uri对象。 |
M
m00512953 已提交
344 345 346 347

**示例:**

```ts
D
dingyao (A) 已提交
348
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
349
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
350
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
351
);
M
mingxihua 已提交
352
DAHelper.denormalizeUri('dataability:///com.example.DataAbility', (err, data) => {
M
mingxihua 已提交
353
    console.info('denormalizeUri err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379
});
```

## DataAbilityHelper.denormalizeUri

denormalizeUri(uri: string): Promise\<string>

将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名 | 类型   | 必填 | 说明                    |
| ---- | ------ | ---- | ----------------------- |
| uri  | string | 是   | 指示要规范化的uri对象。 |

**返回值:**

| 类型             | 说明                                      |
| ---------------- | ----------------------------------------- |
| Promise\<string> | 如果反规范化成功,则返回反规范化uri对象。 |

**示例:**

```ts
D
dingyao (A) 已提交
380
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
381
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
382
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
383
);
M
mingxihua 已提交
384
DAHelper.denormalizeUri('dataability:///com.example.DataAbility',).then((data) => {
M
mingxihua 已提交
385
    console.info('denormalizeUri data: ${JSON.stringify(data)}');
M
m00512953 已提交
386 387 388 389 390 391 392
});
```

## DataAbilityHelper.notifyChange

notifyChange(uri: string, callback: AsyncCallback\<void>): void

D
dingyao (A) 已提交
393
通知注册的观察者,uri指定数据的数据变化(callback形式)。
M
m00512953 已提交
394 395 396 397 398 399 400

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
D
dingyao (A) 已提交
401
| uri      | string               | 是   | 指示数据变化的uri。 |
M
m00512953 已提交
402 403 404 405 406
| callback | AsyncCallback\<void> | 是   | 回调方法。               |

**示例:**

```ts
D
dingyao (A) 已提交
407
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
408
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
409
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
410
);
M
mingxihua 已提交
411 412
DAHelper.notifyChange('dataability:///com.example.DataAbility', (err) => {
    console.info('==========================>Called=======================>');
M
m00512953 已提交
413 414 415 416 417 418 419
});
```

## DataAbilityHelper.notifyChange

notifyChange(uri: string): Promise\<void>

D
dingyao (A) 已提交
420
通知注册的观察者,uri指定数据的数据变化(Promise形式)。
M
m00512953 已提交
421 422 423 424 425 426 427

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名 | 类型   | 必填 | 说明                     |
| ---- | ------ | ---- | ------------------------ |
D
dingyao (A) 已提交
428
| uri  | string | 是   | 指示数据变化的uri。 |
M
m00512953 已提交
429 430 431 432 433 434 435 436 437 438

**返回值:**

| 类型           | 说明                  |
| -------------- | --------------------- |
| Promise\<void> | 返回值为Promise对象。 |

**示例:**

```ts
D
dingyao (A) 已提交
439
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
440
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
441
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
442
);
M
mingxihua 已提交
443 444
DAHelper.notifyChange('dataability:///com.example.DataAbility').then(() => {
    console.info('================>notifyChangeCallback================>');
M
m00512953 已提交
445 446 447 448 449 450 451 452 453 454 455 456 457 458 459
});
```

## DataAbilityHelper.insert

insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\<number>): void

将单个数据记录插入数据库(callback形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名         | 类型                   | 必填 | 说明                                                   |
| ------------ | ---------------------- | ---- | ------------------------------------------------------ |
D
dingyao (A) 已提交
460
| uri          | string                 | 是   | 指示要插入数据的uri。                               |
M
m00512953 已提交
461
| valuesBucket | rdb.ValuesBucket       | 是   | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
D
dingyao (A) 已提交
462
| callback     | AsyncCallback\<number> | 是   | 指示数据插入的回调方法,返回插入数据记录的索引。                     |
M
m00512953 已提交
463 464 465 466

**示例:**

```ts
D
dingyao (A) 已提交
467
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
468
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
469
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
470 471
);
const valueBucket = {
M
mingxihua 已提交
472 473 474 475
    'name': 'rose',
    'age': 22,
    'salary': 200.5,
    'blobType': 'u8',
D
dingyao (A) 已提交
476
};
M
mingxihua 已提交
477
DAHelper.insert('dataability:///com.example.DataAbility', valueBucket, (err, data) => {
M
mingxihua 已提交
478
    console.info('insert err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
479 480 481 482 483 484 485 486 487 488 489 490 491 492 493
});
```

## DataAbilityHelper.insert

insert(uri: string, valuesBucket: rdb.ValuesBucket): Promise\<number>

将单个数据记录插入数据库(Promise形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名         | 类型             | 必填 | 说明                                                   |
| ------------ | ---------------- | ---- | ------------------------------------------------------ |
D
dingyao (A) 已提交
494
| uri          | string           | 是   | 指示要插入数据的uri。                               |
M
m00512953 已提交
495 496 497 498 499 500 501 502 503 504 505
| valuesBucket | rdb.ValuesBucket | 是   | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |

**返回值:**

| 类型             | 说明                     |
| ---------------- | ------------------------ |
| Promise\<number> | 返回插入数据记录的索引。 |

**示例:**

```ts
D
dingyao (A) 已提交
506
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
507
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
508
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
509 510
);
const valueBucket = {
M
mingxihua 已提交
511 512 513 514
    'name': 'rose1',
    'age': 221,
    'salary': 20.5,
    'blobType': 'u8',
D
dingyao (A) 已提交
515
};
M
mingxihua 已提交
516
DAHelper.insert('dataability:///com.example.DataAbility', valueBucket).then((data) => {
M
mingxihua 已提交
517
    console.info('insert data: ${JSON.stringify(data)}');
M
m00512953 已提交
518 519 520 521 522 523 524
});
```

## DataAbilityHelper.batchInsert

batchInsert(uri: string, valuesBuckets: Array\<rdb.ValuesBucket>, callback: AsyncCallback\<number>): void

D
dingyao (A) 已提交
525
将多个数据记录插入数据库(callback形式)。
M
m00512953 已提交
526 527 528 529 530 531 532

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名         | 类型                    | 必填 | 说明                             |
| ------------ | ----------------------- | ---- | -------------------------------- |
D
dingyao (A) 已提交
533 534 535
| uri          | string                  | 是   | 指示要插入数据的uri。         |
| valuesBucket | Array\<rdb.ValuesBucket> | 是   | 指示要插入的数据记录数组。           |
| callback     | AsyncCallback\<number>  | 是   | 指示批量数据插入的回调方法。返回插入的数据记录数。 |
M
m00512953 已提交
536 537 538 539

**示例:**

```ts
D
dingyao (A) 已提交
540
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
541
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
542
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
543
);
M
mingxihua 已提交
544 545 546 547
let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',},
                     {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',},
                     {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',});
DAHelper.batchInsert('dataability:///com.example.DataAbility', cars, (err, data) => {
M
mingxihua 已提交
548
    console.info('batchInsert err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
549 550 551 552 553 554 555 556 557 558 559 560 561 562 563
});
```

## DataAbilityHelper.batchInsert

batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>): Promise\<number>

将多个数据记录插入数据库(Promise形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名         | 类型                    | 必填 | 说明                     |
| ------------ | ----------------------- | ---- | ------------------------ |
D
dingyao (A) 已提交
564 565
| uri          | string                  | 是   | 指示要插入数据的uri。 |
| valuesBucket | Array<rdb.ValuesBucket> | 是   | 指示要插入的数据记录数组。   |
M
m00512953 已提交
566 567 568 569 570 571 572 573 574 575

**返回值:**

| 类型             | 说明                   |
| ---------------- | ---------------------- |
| Promise\<number> | 返回插入的数据记录数。 |

**示例:**

```ts
D
dingyao (A) 已提交
576
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
577
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
578
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
579
);
M
mingxihua 已提交
580 581 582 583
let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',},
                     {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',},
                     {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',});
DAHelper.batchInsert('dataability:///com.example.DataAbility', cars).then((data) => {
M
mingxihua 已提交
584
    console.info('batchInsert data: ${JSON.stringify(data)}');
M
m00512953 已提交
585 586 587 588 589 590 591 592 593 594 595 596 597 598 599
});
```

## DataAbilityHelper.delete

delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void

从数据库中删除一个或多个数据记录(callback形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名         | 类型                              | 必填 | 说明                                             |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
D
dingyao (A) 已提交
600
| uri          | string                            | 是   | 指示要删除数据的uri。                         |
M
m00512953 已提交
601
| predicates | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
D
dingyao (A) 已提交
602
| callback     | AsyncCallback\<number>            | 是   | 指示数据删除的回调方法。返回已删除的数据记录数。               |
M
m00512953 已提交
603 604 605 606

**示例:**

```ts
D
dingyao (A) 已提交
607 608
import featureAbility from '@ohos.ability.featureAbility';
import ohos_data_ability from '@ohos.data.dataAbility';
M
mingxihua 已提交
609
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
610
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
611
);
D
dingyao (A) 已提交
612
let da = new ohos_data_ability.DataAbilityPredicates();
M
mingxihua 已提交
613
DAHelper.delete('dataability:///com.example.DataAbility', da, (err, data) => {
M
mingxihua 已提交
614
    console.info('delete err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
615 616 617 618 619 620 621 622 623 624 625 626 627 628 629
});
```

## DataAbilityHelper.delete

delete(uri: string, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>;

从数据库中删除一个或多个数据记录(Promise形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名         | 类型                              | 必填 | 说明                                             |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
D
dingyao (A) 已提交
630
| uri          | string                            | 是   | 指示要删除数据的uri。                         |
M
m00512953 已提交
631 632 633 634 635 636 637 638 639 640 641
| predicates | dataAbility.DataAbilityPredicates | 否   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |

**返回值:**

| 类型             | 说明                     |
| ---------------- | ------------------------ |
| Promise\<number> | 返回已删除的数据记录数。 |

**示例:**

```ts
D
dingyao (A) 已提交
642 643
import featureAbility from '@ohos.ability.featureAbility';
import ohos_data_ability from '@ohos.data.dataAbility';
M
mingxihua 已提交
644
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
645
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
646
);
D
dingyao (A) 已提交
647
let da = new ohos_data_ability.DataAbilityPredicates();
M
mingxihua 已提交
648
DAHelper.delete('dataability:///com.example.DataAbility', da).then((data) => {
M
mingxihua 已提交
649
    console.info('delete data: ${JSON.stringify(data)}');
M
m00512953 已提交
650 651 652 653 654 655 656 657 658 659 660 661 662 663 664
});
```

## DataAbilityHelper.update

update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void

更新数据库中的数据记录(callback形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名         | 类型                              | 必填 | 说明                                             |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
D
dingyao (A) 已提交
665
| uri          | string                            | 是   | 指示要更新数据的uri。                         |
M
m00512953 已提交
666 667
| valuesBucket | rdb.ValuesBucket                  | 是   | 指示要更新的数据。                               |
| predicates   | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
D
dingyao (A) 已提交
668
| callback     | AsyncCallback\<number>            | 是   | 指示数据更新的回调方法,返回更新的数据记录数。                 |
M
m00512953 已提交
669 670 671 672

**示例:**

```ts
D
dingyao (A) 已提交
673 674
import featureAbility from '@ohos.ability.featureAbility';
import ohos_data_ability from '@ohos.data.dataAbility';
M
mingxihua 已提交
675
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
676
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
677 678
);
const va = {
M
mingxihua 已提交
679 680 681 682
    'name': 'roe1',
    'age': 21,
    'salary': 20.5,
    'blobType': 'u8',
D
dingyao (A) 已提交
683 684
};
let da = new ohos_data_ability.DataAbilityPredicates();
M
mingxihua 已提交
685
DAHelper.update('dataability:///com.example.DataAbility', va, da, (err, data) => {
M
mingxihua 已提交
686
    console.info('update err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
687 688 689 690 691 692 693 694 695 696 697 698 699 700 701
});
```

## DataAbilityHelper.update

update(uri: string, valuesBucket: rdb.ValuesBucket, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>;

更新数据库中的数据记录(Promise形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名         | 类型                              | 必填 | 说明                                             |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
D
dingyao (A) 已提交
702
| uri          | string                            | 是   | 指示要更新数据的uri。                         |
M
m00512953 已提交
703 704 705 706 707 708 709 710 711 712 713 714
| valuesBucket | rdb.ValuesBucket                  | 是   | 指示要更新的数据。                               |
| predicates   | dataAbility.DataAbilityPredicates | 否   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |

**返回值:**

| 类型             | 说明                                         |
| ---------------- | -------------------------------------------- |
| Promise\<number> | Promise中包含更新的数据记录数。 。 |

**示例:**

```ts
D
dingyao (A) 已提交
715 716
import featureAbility from '@ohos.ability.featureAbility';
import ohos_data_ability from '@ohos.data.dataAbility';
M
mingxihua 已提交
717
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
718
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
719 720
);
const va = {
M
mingxihua 已提交
721 722 723 724
    'name': 'roe1',
    'age': 21,
    'salary': 20.5,
    'blobType': 'u8',
D
dingyao (A) 已提交
725 726
};
let da = new ohos_data_ability.DataAbilityPredicates();
M
mingxihua 已提交
727
DAHelper.update('dataability:///com.example.DataAbility', va, da).then((data) => {
M
mingxihua 已提交
728
    console.info('update data: ${JSON.stringify(data)}');
M
m00512953 已提交
729 730 731 732 733 734 735 736 737 738 739 740 741 742 743
});
```

## DataAbilityHelper.query

query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void

查询数据库中的数据(callback形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名       | 类型                              | 必填 | 说明                                             |
| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
D
dingyao (A) 已提交
744
| uri        | string                            | 是   | 指示要查询数据的uri。                         |
M
m00512953 已提交
745 746
| columns    | Array\<string>                | 是   | 指示要查询的列。如果此参数为空,则查询所有列。   |
| predicates | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
D
dingyao (A) 已提交
747
| callback   | AsyncCallback\<ResultSet>         | 是   | 指示数据查询的回调方法,返回查询结果。                         |
M
m00512953 已提交
748 749 750 751

**示例:**

```ts
D
dingyao (A) 已提交
752 753
import featureAbility from '@ohos.ability.featureAbility';
import ohos_data_ability from '@ohos.data.dataAbility';
M
mingxihua 已提交
754
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
755
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
756
);
M
mingxihua 已提交
757
let cars=new Array('value1', 'value2', 'value3', 'value4');
D
dingyao (A) 已提交
758
let da = new ohos_data_ability.DataAbilityPredicates();
M
mingxihua 已提交
759
DAHelper.query('dataability:///com.example.DataAbility', cars, da, (err, data) => {
M
mingxihua 已提交
760
    console.info('query err: ${JSON.stringify(err)}, data: ${JSON.stringify(data)}');
M
m00512953 已提交
761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777
});
```



## DataAbilityHelper.query

query(uri: string, columns?: Array\<string>, predicates?: dataAbility.DataAbilityPredicates): Promise\<ResultSet>;

查询数据库中的数据(Promise形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名       | 类型                              | 必填 | 说明                                             |
| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
D
dingyao (A) 已提交
778
| uri        | string                            | 是   | 指示要查询数据的uri。                         |
M
m00512953 已提交
779 780 781 782 783 784 785 786 787 788 789 790
| columns    | Array\<string>               | 否   | 指示要查询的列。如果此参数为空,则查询所有列。   |
| predicates | dataAbility.DataAbilityPredicates | 否   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |

**返回值:**

| 类型                | 说明           |
| ------------------- | -------------- |
| Promise\<ResultSet> | 返回查询结果。 |

**示例:**

```ts
D
dingyao (A) 已提交
791 792
import featureAbility from '@ohos.ability.featureAbility';
import ohos_data_ability from '@ohos.data.dataAbility';
M
mingxihua 已提交
793
let DAHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
794
    'dataability:///com.example.DataAbility'
M
m00512953 已提交
795
);
M
mingxihua 已提交
796
let cars = new Array('value1', 'value2', 'value3', 'value4');
D
dingyao (A) 已提交
797
let da = new ohos_data_ability.DataAbilityPredicates();
M
mingxihua 已提交
798
DAHelper.query('dataability:///com.example.DataAbility', cars, da).then((data) => {
M
mingxihua 已提交
799
    console.info('query data: ${JSON.stringify(data)}');
M
m00512953 已提交
800 801 802 803 804
});
```

## DataAbilityHelper.call

D
dingyao (A) 已提交
805
call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback\<PacMap>): void
M
m00512953 已提交
806

D
dingyao (A) 已提交
807
调用DataAbility的扩展接口(callback形式)。
M
m00512953 已提交
808 809 810 811 812 813 814

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名       | 类型                              | 必填 | 说明                                             |
| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
M
mingxihua 已提交
815
| uri        | string                 | 是   | 指示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'           |
D
dingyao (A) 已提交
816 817 818 819
| method    | string                  | 是   | 指示被调用的方法名。   |
| arg      | string                   | 是   | 指示需传入的参数。      |
| extras   | [PacMap](#pacmap)        | 是   | 指示扩展的键值对参数。       |
| callback | AsyncCallback\<[PacMap](#pacmap)> | 是 | 指示数据操作的回调方法,返回操作结果。     |
M
m00512953 已提交
820 821 822 823 824 825

**示例:**

```ts
import featureAbility from '@ohos.ability.featureAbility';

Z
zhongjianfei 已提交
826
let dataAbilityHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
827
    'dataability:///com.example.jsapidemo.UserDataAbility'
D
dingyao (A) 已提交
828
);
M
mingxihua 已提交
829 830
dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility',
    'method', 'arg', {'key1':'value1'}, (err, data) => {
D
dingyao (A) 已提交
831
    if (err) {
M
mingxihua 已提交
832
        console.error('Operation failed. Cause: ${err}');
D
dingyao (A) 已提交
833 834
        return;
    }
M
mingxihua 已提交
835
    console.info('Operation succeeded: ${data}');
M
m00512953 已提交
836 837 838 839 840
});
```

## DataAbilityHelper.call

D
dingyao (A) 已提交
841
call(uri: string, method: string, arg: string, extras: PacMap): Promise\<PacMap>
M
m00512953 已提交
842

D
dingyao (A) 已提交
843
调用DataAbility的扩展接口(Promise形式)。
M
m00512953 已提交
844 845 846 847 848 849 850

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名       | 类型                              | 必填 | 说明                                             |
| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
M
mingxihua 已提交
851
| uri        | string                 | 是   | 指示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'           |
D
dingyao (A) 已提交
852 853 854 855 856 857 858 859 860
| method    | string                  | 是   | 指示被调用的方法名。   |
| arg      | string                   | 是   | 指示需传入的参数。      |
| extras   | [PacMap](#pacmap)        | 是   | 指示扩展的键值对参数。       |

**返回值:**

| 类型 | 说明 |
|------ | ------- |
|Promise\<[PacMap](#pacmap)> | 返回操作结果。 |
M
m00512953 已提交
861 862 863 864 865 866

**示例:**

```ts
import featureAbility from '@ohos.ability.featureAbility';

Z
zhongjianfei 已提交
867
let dataAbilityHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
868
    'dataability:///com.example.jsapidemo.UserDataAbility'
D
dingyao (A) 已提交
869
);
M
mingxihua 已提交
870 871
dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility',
    'method', 'arg', {'key1':'value1'}).then((data) => {
M
mingxihua 已提交
872
    console.info('Operation succeeded: ${data}');
D
dingyao (A) 已提交
873
}).catch((error) => {
M
mingxihua 已提交
874
    console.error('Operation failed. Cause: ${error}');
M
m00512953 已提交
875 876 877 878 879 880 881
});
```

## DataAbilityHelper.executeBatch

executeBatch(uri: string, operations: Array\<DataAbilityOperation>, callback: AsyncCallback\<Array\<DataAbilityResult>>): void;

D
dingyao (A) 已提交
882
批量操作数据库中的数据。
M
m00512953 已提交
883 884 885 886 887

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

D
dingyao (A) 已提交
888 889
| 参数名        | 类型                          | 必填 | 说明                                             |
| ----------| ---------------------------------| ---- | ------------------------------------------------ |
M
mingxihua 已提交
890
| uri       | string                           | 是   | 指示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。|
D
dingyao (A) 已提交
891 892
| operations    |  Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)>        | 是   | 指示数据操作数组,其中可以包含对数据库的多个不同操作。   |
| callback      |  AsyncCallback\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>>    | 是   | 指示批量操作的回调方法,在DataAbilityResult数组中返回每个操作的结果。      |
M
m00512953 已提交
893 894 895 896 897 898 899 900

**示例:**

```ts
import featureAbility from '@ohos.ability.featureAbility';

// 根据DataAbilityOperation列表选择要对数据库做的操作
let op=new Array();
Z
zhongjianfei 已提交
901
let dataAbilityHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
902
    'dataability:///com.example.jsapidemo.UserDataAbility'
D
dingyao (A) 已提交
903
);
M
mingxihua 已提交
904
dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op, (err, data) => {
M
m00512953 已提交
905
    if (err) {
M
mingxihua 已提交
906
        console.error('Operation failed. Cause: ${err}');
M
m00512953 已提交
907 908
        return;
    }
M
mingxihua 已提交
909
    console.info('Operation succeeded: ${data}');
M
m00512953 已提交
910 911 912 913 914 915 916
});
```

## DataAbilityHelper.executeBatch

executeBatch(uri: string, operations: Array\<DataAbilityOperation>): Promise\<Array\<DataAbilityResult>>;

D
dingyao (A) 已提交
917
批量操作数据库中的数据。
M
m00512953 已提交
918 919 920 921 922 923 924

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

**参数:**

| 参数名          | 类型                            | 必填 | 说明                                             |
| ----------    | -------------------------------| ---- | ------------------------------------------------ |
M
mingxihua 已提交
925
| uri           | string                         | 是   | 指示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。|
D
dingyao (A) 已提交
926
| operations    |  Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)>  | 是   | 指示数据操作数组,其中可以包含对数据库的多个不同操作。   |
M
m00512953 已提交
927 928 929 930 931

**返回值:**

| 类型 | 说明 |
|------ | ------- |
D
dingyao (A) 已提交
932
|Promise\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>> | 在DataAbilityResult数组中返回每个操作的结果。 |
M
m00512953 已提交
933 934 935 936 937 938 939 940

**示例:**

```ts
import featureAbility from '@ohos.ability.featureAbility';

// 根据DataAbilityOperation列表选择要对数据库做的操作
let op=new Array();
Z
zhongjianfei 已提交
941
let dataAbilityHelper = featureAbility.acquireDataAbilityHelper(
M
mingxihua 已提交
942
    'dataability:///com.example.jsapidemo.UserDataAbility'
D
dingyao (A) 已提交
943
);
M
mingxihua 已提交
944
dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op).then((data) => {
M
mingxihua 已提交
945
    console.info('Operation succeeded: ${data}');
M
m00512953 已提交
946
}).catch((error) => {
M
mingxihua 已提交
947
    console.error('Operation failed. Cause: ${error}');
M
m00512953 已提交
948 949 950 951 952 953 954 955 956 957 958 959 960
});

```

## PacMap

[key: string]: number | string | boolean | Array\<string | number | boolean> | null;

**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel

| 参数名 | 参数类型 | 必填 | 说明 |
| ------ | ------ | ------ | ------ |
| [key: string] | number \| string \| boolean \| Array\<string \| number \| boolean\> \| null | Yes| 数据存储在键值对中。|