js-apis-dataAbilityHelper.md 33.0 KB
Newer Older
Z
zengyawen 已提交
1 2 3
# DataAbilityHelper模块(JS端SDK接口)

## 导入模块
X
xuchenghua09 已提交
4 5 6 7 8 9 10

```
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
import ohos_data_rdb from '@ohos.data.rdb'
```

Y
yuyaozhi 已提交
11
## DataAbilityHelper.openFile
X
xuchenghua09 已提交
12

Z
zengyawen 已提交
13
openFile(uri: string, mode: string, callback: AsyncCallback\<number>): void
X
xuchenghua09 已提交
14

Z
zengyawen 已提交
15
在指定的远程路径中打开文件(callback形式)。
X
xuchenghua09 已提交
16

Y
yuyaozhi 已提交
17
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
18

Z
zengyawen 已提交
19
**参数:**
X
xuchenghua09 已提交
20

Z
zengyawen 已提交
21 22 23 24 25
| 名称     | 类型                   | 必填 | 描述                               |
| -------- | ---------------------- | ---- | ---------------------------------- |
| uri      | string                 | 是   | 指示要打开的文件的路径。           |
| mode     | string                 | 是   | 指示文件打开模式‘rwt’。            |
| callback | AsyncCallback\<number> | 是   | 被指定的回调方法,返回文件描述符。 |
X
xuchenghua09 已提交
26

Z
zengyawen 已提交
27
**示例:**
X
xuchenghua09 已提交
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

```javascript
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
var mode = "rwt";
DAHelper.openFile(
    "dataability:///com.example.DataAbility",
    mode,
    (err) => {
		console.info("==========================>Called=======================>");
});
```

Y
yuyaozhi 已提交
43
## DataAbilityHelper.openFile
X
xuchenghua09 已提交
44

Z
zengyawen 已提交
45
openFile(uri: string, mode: string): Promise\<number>
X
xuchenghua09 已提交
46

W
wusongqing 已提交
47 48
在指定的远程路径中打开文件(promise形式)。

Y
yuyaozhi 已提交
49
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
50

Z
zengyawen 已提交
51
**参数:**
X
xuchenghua09 已提交
52

Z
zengyawen 已提交
53 54 55 56
| 名称 | 类型   | 必填 | 描述                     |
| ---- | ------ | ---- | ------------------------ |
| uri  | string | 是   | 指示要打开的文件的路径。 |
| mode | string | 是   | 指示文件打开模式‘rwt’。  |
X
xuchenghua09 已提交
57

Z
zengyawen 已提交
58
**返回值:**
Y
yuyaozhi 已提交
59

Z
zengyawen 已提交
60 61 62
| 类型             | 说明             |
| ---------------- | ---------------- |
| Promise\<number> | 返回文件描述符。 |
X
xuchenghua09 已提交
63

Z
zengyawen 已提交
64
**示例:**
X
xuchenghua09 已提交
65 66 67 68 69 70 71 72

```javascript
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
var mode = "rwt";
DAHelper.openFile(
ahjxliubao2's avatar
ahjxliubao2 已提交
73 74
    "dataability:///com.example.DataAbility",
    mode).then((data) => {
X
xuchenghua09 已提交
75 76 77 78
		console.info("==========================>openFileCallback=======================>");
});
```

Y
yuyaozhi 已提交
79
## DataAbilityHelper.on
X
xuchenghua09 已提交
80

Z
zengyawen 已提交
81
on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void
X
xuchenghua09 已提交
82

Z
zengyawen 已提交
83
注册观察者以观察给定uri指定的数据callback通知。
X
xuchenghua09 已提交
84

Y
yuyaozhi 已提交
85
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
86

Z
zengyawen 已提交
87
**参数:**
X
xuchenghua09 已提交
88

Z
zengyawen 已提交
89 90 91 92 93
| 名称     | 类型                 | 必填 | 描述                     |
| -------- | -------------------- | ---- | ------------------------ |
| type     | string               | 是   | 数据更改。               |
| uri      | string               | 是   | 指示要操作的数据的路径。 |
| callback | AsyncCallback\<void> | 是   | 指示数据更改时的回调。   |
X
xuchenghua09 已提交
94

Z
zengyawen 已提交
95
**示例:**
X
xuchenghua09 已提交
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

```js
import featureAbility from '@ohos.ability.featureAbility'
var helper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
function onChangeNotify() {
    console.info("==========================>onChangeNotify=======================>");
};
helper.on(
    "dataChange",
    "dataability:///com.example.DataAbility",
    onChangeNotify
)
```

Y
yuyaozhi 已提交
112
## DataAbilityHelper.off
X
xuchenghua09 已提交
113

Z
zengyawen 已提交
114
off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void
X
xuchenghua09 已提交
115

Z
zengyawen 已提交
116
注消观察者以停止观察给定uri指定的数据callback通知。
X
xuchenghua09 已提交
117

Y
yuyaozhi 已提交
118
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
119

Z
zengyawen 已提交
120
**参数:**
X
xuchenghua09 已提交
121

Z
zengyawen 已提交
122 123 124 125 126
| 名称     | 类型                 | 必填 | 描述                     |
| -------- | -------------------- | ---- | ------------------------ |
| type     | string               | 是   | 数据更改。               |
| uri      | string               | 是   | 指示要操作的数据的路径。 |
| callback | AsyncCallback\<void> | 否   | 指示已注册的回调。       |
X
xuchenghua09 已提交
127

Z
zengyawen 已提交
128
**示例:**
X
xuchenghua09 已提交
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148

```js
import featureAbility from '@ohos.ability.featureAbility'
var helper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
function onChangeNotify() {
    console.info("==========================>onChangeNotify=======================>");
};
helper.off(
    "dataChange",
    "dataability:///com.example.DataAbility",
)
helper.off(
    "dataChange",
    "dataability:///com.example.DataAbility",
    onChangeNotify
)
```

Y
yuyaozhi 已提交
149
## DataAbilityHelper.getType
X
xuchenghua09 已提交
150

Z
zengyawen 已提交
151
getType(uri: string, callback: AsyncCallback\<string>): void
X
xuchenghua09 已提交
152

Z
zengyawen 已提交
153
获取给定URI指定数据的MIME类型(callback形式)。
X
xuchenghua09 已提交
154

Y
yuyaozhi 已提交
155
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
156

Z
zengyawen 已提交
157
**参数:**
X
xuchenghua09 已提交
158

Z
zengyawen 已提交
159 160 161 162
| 名称     | 类型                   | 必填 | 描述                                          |
| -------- | ---------------------- | ---- | --------------------------------------------- |
| uri      | string                 | 是   | 指示要操作的数据的路径。                      |
| callback | AsyncCallback\<string> | 是   | 回调方法,返回与uri指定的数据匹配的MIME类型。 |
X
xuchenghua09 已提交
163

Z
zengyawen 已提交
164
**示例:**
X
xuchenghua09 已提交
165 166 167 168 169 170 171 172 173 174 175 176 177

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
DAHelper.getType(
    "dataability:///com.example.DataAbility",
    (err, data) => {
		console.info("==========================>Called=======================>");
});
```

Y
yuyaozhi 已提交
178
## DataAbilityHelper.getType
X
xuchenghua09 已提交
179

Z
zengyawen 已提交
180
getType(uri: string): Promise\<string>
X
xuchenghua09 已提交
181

Z
zengyawen 已提交
182
获取给定URI指定数据的MIME类型(Promise形式)。
X
xuchenghua09 已提交
183

Y
yuyaozhi 已提交
184
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
185

Z
zengyawen 已提交
186
**参数:**
X
xuchenghua09 已提交
187

Z
zengyawen 已提交
188 189 190
| 名称 | 类型   | 必填 | 描述                     |
| ---- | ------ | ---- | ------------------------ |
| uri  | string | 是   | 指示要操作的数据的路径。 |
X
xuchenghua09 已提交
191

Z
zengyawen 已提交
192
**返回值:**
Y
yuyaozhi 已提交
193

Z
zengyawen 已提交
194 195 196
| 类型             | 说明                                |
| ---------------- | ----------------------------------- |
| Promise\<string> | 返回与uri指定的数据匹配的MIME类型。 |
X
xuchenghua09 已提交
197

Z
zengyawen 已提交
198
**示例:**
X
xuchenghua09 已提交
199 200 201 202 203 204 205 206 207 208 209 210 211

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
DAHelper.getType(
    "dataability:///com.example.DataAbility"
	).then((data) => {
		console.info("==========================>getTypeCallback=======================>");
});
```

Y
yuyaozhi 已提交
212
## DataAbilityHelper.getFileTypes
X
xuchenghua09 已提交
213

Z
zengyawen 已提交
214
getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\<string>>): void
X
xuchenghua09 已提交
215

Z
zengyawen 已提交
216
获取支持的文件的MIME类型(callback形式)。
X
xuchenghua09 已提交
217

Y
yuyaozhi 已提交
218
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
219

Z
zengyawen 已提交
220
**参数:**
X
xuchenghua09 已提交
221

Z
zengyawen 已提交
222 223 224 225 226
| 名称           | 类型                           | 必填 | 描述                               |
| -------------- | ------------------------------ | ---- | ---------------------------------- |
| uri            | string                         | 是   | 指示要获取的文件的路径。           |
| mimeTypeFilter | string                         | 是   | 指示要获取的文件的MIME类型。       |
| callback       | AsyncCallback\<Array\<string>> | 是   | 回调方法,返回匹配的MIME类型数组。 |
X
xuchenghua09 已提交
227

Z
zengyawen 已提交
228
**示例:**
X
xuchenghua09 已提交
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
DAHelper.getFileTypes(
    "dataability:///com.example.DataAbility",
    "image/*",
    (err, data) => {
		console.info("==========================>Called=======================>");
});
```



Y
yuyaozhi 已提交
245
## DataAbilityHelper.getFileTypes
Z
zengyawen 已提交
246 247

getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>>
X
xuchenghua09 已提交
248

Z
zengyawen 已提交
249
获取支持的文件的MIME类型(Promise形式)。
X
xuchenghua09 已提交
250

Y
yuyaozhi 已提交
251
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
252

Z
zengyawen 已提交
253
**参数:**
X
xuchenghua09 已提交
254

Z
zengyawen 已提交
255 256 257 258
| 名称           | 类型   | 必填 | 描述                         |
| -------------- | ------ | ---- | ---------------------------- |
| uri            | string | 是   | 指示要获取的文件的路径。     |
| mimeTypeFilter | string | 是   | 指示要获取的文件的MIME类型。 |
X
xuchenghua09 已提交
259

Z
zengyawen 已提交
260
**返回值:**
Y
yuyaozhi 已提交
261

Z
zengyawen 已提交
262 263 264
| 类型                     | 说明                     |
| ------------------------ | ------------------------ |
| Promise\<Array\<string>> | 返回匹配的MIME类型数组。 |
X
xuchenghua09 已提交
265

Z
zengyawen 已提交
266
**示例:**
X
xuchenghua09 已提交
267 268 269 270 271 272 273 274 275 276 277 278 279 280

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
DAHelper.getFileTypes(
    "dataability:///com.example.DataAbility",
    "image/*"
	).then((data) => {
		console.info("==========================>getFileTypesCallback=======================>");
});
```

Y
yuyaozhi 已提交
281
## DataAbilityHelper.normalizeUri
X
xuchenghua09 已提交
282

Z
zengyawen 已提交
283
normalizeUri(uri: string, callback: AsyncCallback\<string>): void
X
xuchenghua09 已提交
284

Z
zengyawen 已提交
285
将引用数据功能的给定uri转换为规范化uri(callback形式)。
X
xuchenghua09 已提交
286

Y
yuyaozhi 已提交
287
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
288

Z
zengyawen 已提交
289
**参数:**
X
xuchenghua09 已提交
290

Z
zengyawen 已提交
291 292 293
| 名称     | 类型                   | 必填 | 描述                                                         |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| uri      | string                 | 是   | 指示要规范化的uri对象。                                      |
W
wusongqing 已提交
294
| callback | AsyncCallback\<string> | 是   | 回调方法。如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 |
X
xuchenghua09 已提交
295

Z
zengyawen 已提交
296
**示例:**
X
xuchenghua09 已提交
297 298 299 300 301 302 303 304 305 306 307 308 309

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
DAHelper.normalizeUri(
    "dataability:///com.example.DataAbility",
    (err, data) => {
		console.info("==========================>Called=======================>");
});
```

Y
yuyaozhi 已提交
310
## DataAbilityHelper.normalizeUri
X
xuchenghua09 已提交
311

Z
zengyawen 已提交
312
normalizeUri(uri: string): Promise\<string>
X
xuchenghua09 已提交
313

Z
zengyawen 已提交
314
将引用数据功能的给定uri转换为规范化uri(Promise形式)。
X
xuchenghua09 已提交
315

Y
yuyaozhi 已提交
316
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
317

Z
zengyawen 已提交
318
**参数:**
X
xuchenghua09 已提交
319

Z
zengyawen 已提交
320 321 322
| 名称 | 类型   | 必填 | 描述                    |
| ---- | ------ | ---- | ----------------------- |
| uri  | string | 是   | 指示要规范化的uri对象。 |
X
xuchenghua09 已提交
323

Z
zengyawen 已提交
324
**返回值:**
Y
yuyaozhi 已提交
325

Z
zengyawen 已提交
326 327
| 类型             | 说明                                                   |
| ---------------- | ------------------------------------------------------ |
W
wusongqing 已提交
328
| Promise\<string> | 如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 |
X
xuchenghua09 已提交
329

Z
zengyawen 已提交
330
**示例:**
X
xuchenghua09 已提交
331 332 333 334 335 336 337 338 339 340 341 342 343

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
DAHelper.normalizeUri(
    "dataability:///com.example.DataAbility",
	).then((data) => {
		console.info("==========================>normalizeUriCallback=======================>");
});
```

Y
yuyaozhi 已提交
344
## DataAbilityHelper.denormalizeUri
X
xuchenghua09 已提交
345

Z
zengyawen 已提交
346
denormalizeUri(uri: string, callback: AsyncCallback\<string>): void
X
xuchenghua09 已提交
347

Z
zengyawen 已提交
348
将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。
X
xuchenghua09 已提交
349

Y
yuyaozhi 已提交
350
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
351

Z
zengyawen 已提交
352
**参数:**
X
xuchenghua09 已提交
353

Z
zengyawen 已提交
354 355 356 357
| 名称     | 类型                   | 必填 | 描述                                                |
| -------- | ---------------------- | ---- | --------------------------------------------------- |
| uri      | string                 | 是   | 指示要规范化的uri对象。                             |
| callback | AsyncCallback\<string> | 是   | 回调方法。如果反规范化成功,则返回反规范化uri对象。 |
X
xuchenghua09 已提交
358

Z
zengyawen 已提交
359
**示例:**
X
xuchenghua09 已提交
360 361 362 363 364 365 366

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
DAHelper.denormalizeUri(
ahjxliubao2's avatar
ahjxliubao2 已提交
367
    "dataability:///com.example.DataAbility",
X
xuchenghua09 已提交
368 369 370 371 372 373 374
    (err, data) => {
		console.info("==========================>Called=======================>");
});
```



Y
yuyaozhi 已提交
375
## DataAbilityHelper.denormalizeUri
X
xuchenghua09 已提交
376

Z
zengyawen 已提交
377
denormalizeUri(uri: string): Promise\<string>
X
xuchenghua09 已提交
378

Z
zengyawen 已提交
379
将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式)。
X
xuchenghua09 已提交
380

Y
yuyaozhi 已提交
381
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
382

Z
zengyawen 已提交
383
**参数:**
X
xuchenghua09 已提交
384

Z
zengyawen 已提交
385 386 387
| 名称 | 类型   | 必填 | 描述                    |
| ---- | ------ | ---- | ----------------------- |
| uri  | string | 是   | 指示要规范化的uri对象。 |
X
xuchenghua09 已提交
388

Z
zengyawen 已提交
389
**返回值:**
Y
yuyaozhi 已提交
390

Z
zengyawen 已提交
391 392 393 394 395
| 类型             | 说明                                      |
| ---------------- | ----------------------------------------- |
| Promise\<string> | 如果反规范化成功,则返回反规范化uri对象。 |

**示例:**
X
xuchenghua09 已提交
396 397 398 399 400 401 402 403 404 405 406 407 408

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
DAHelper.denormalizeUri(
    "dataability:///com.example.DataAbility",
	).then((data) => {
		console.info("==========================>denormalizeUriCallback=======================>");
});
```

Y
yuyaozhi 已提交
409
## DataAbilityHelper.notifyChange
X
xuchenghua09 已提交
410

Z
zengyawen 已提交
411
notifyChange(uri: string, callback: AsyncCallback\<void>): void
X
xuchenghua09 已提交
412

Z
zengyawen 已提交
413
通知已注册的观察者uri指定的数据资源的更改(callback形式)。
X
xuchenghua09 已提交
414

Y
yuyaozhi 已提交
415
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
416

Z
zengyawen 已提交
417
**参数:**
X
xuchenghua09 已提交
418

Z
zengyawen 已提交
419 420 421 422
| 名称     | 类型                 | 必填 | 描述                     |
| -------- | -------------------- | ---- | ------------------------ |
| uri      | string               | 是   | 指示要操作的数据的路径。 |
| callback | AsyncCallback\<void> | 是   | 回调方法。               |
X
xuchenghua09 已提交
423

Z
zengyawen 已提交
424
**示例:**
X
xuchenghua09 已提交
425 426 427 428 429 430 431

```js
import featureAbility from '@ohos.ability.featureAbility'
var helper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
helper.notifyChange(
ahjxliubao2's avatar
ahjxliubao2 已提交
432
    "dataability:///com.example.DataAbility",
X
xuchenghua09 已提交
433 434 435 436 437
    (err) => {
		console.info("==========================>Called=======================>");
});
```

Y
yuyaozhi 已提交
438
## DataAbilityHelper.notifyChange
X
xuchenghua09 已提交
439

Z
zengyawen 已提交
440
notifyChange(uri: string): Promise\<void>
X
xuchenghua09 已提交
441

Z
zengyawen 已提交
442
通知已注册的观察者uri指定的数据资源的更改(Promise形式)。
X
xuchenghua09 已提交
443

Y
yuyaozhi 已提交
444
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
445

Z
zengyawen 已提交
446
**参数:**
X
xuchenghua09 已提交
447

Z
zengyawen 已提交
448 449 450
| 名称 | 类型   | 必填 | 描述                     |
| ---- | ------ | ---- | ------------------------ |
| uri  | string | 是   | 指示要操作的数据的路径。 |
X
xuchenghua09 已提交
451

Z
zengyawen 已提交
452
**返回值:**
Y
yuyaozhi 已提交
453

Z
zengyawen 已提交
454 455 456
| 类型           | 说明                  |
| -------------- | --------------------- |
| Promise\<void> | 返回值为Promise对象。 |
X
xuchenghua09 已提交
457

Z
zengyawen 已提交
458
**示例:**
X
xuchenghua09 已提交
459 460 461 462 463 464 465 466

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
DAHelper.notifyChange(
    "dataability:///com.example.DataAbility",
ahjxliubao2's avatar
ahjxliubao2 已提交
467
	).then(() => {
X
xuchenghua09 已提交
468 469 470 471
		console.info("==========================>notifyChangeCallback=======================>");
});
```

Y
yuyaozhi 已提交
472
## DataAbilityHelper.insert
X
xuchenghua09 已提交
473

Z
zengyawen 已提交
474
insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\<number>): void
X
xuchenghua09 已提交
475

Z
zengyawen 已提交
476
将单个数据记录插入数据库(callback形式)。
X
xuchenghua09 已提交
477

Y
yuyaozhi 已提交
478
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
479

Z
zengyawen 已提交
480
**参数:**
X
xuchenghua09 已提交
481

Z
zengyawen 已提交
482 483 484 485 486
| 名称         | 类型                   | 必填 | 描述                                                   |
| ------------ | ---------------------- | ---- | ------------------------------------------------------ |
| uri          | string                 | 是   | 指示要插入的数据的路径。                               |
| valuesBucket | rdb.ValuesBucket       | 是   | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
| callback     | AsyncCallback\<number> | 是   | 回调方法,返回插入数据记录的索引。                     |
X
xuchenghua09 已提交
487

Z
zengyawen 已提交
488
**示例:**
X
xuchenghua09 已提交
489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
const valueBucket = {
    "name": "rose",
    "age": 22,
    "salary": 200.5,
    "blobType": u8,
}
DAHelper.insert(
    "dataability:///com.example.DataAbility",
    valueBucket,
    (err, data) => {
		console.info("==========================>Called=======================>");
});
```

Y
yuyaozhi 已提交
509
## DataAbilityHelper.insert
X
xuchenghua09 已提交
510

Z
zengyawen 已提交
511
insert(uri: string, valuesBucket: rdb.ValuesBucket): Promise\<number>
X
xuchenghua09 已提交
512

Z
zengyawen 已提交
513
将单个数据记录插入数据库(Promise形式)。
X
xuchenghua09 已提交
514

Y
yuyaozhi 已提交
515
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
516

Z
zengyawen 已提交
517
**参数:**
X
xuchenghua09 已提交
518

Z
zengyawen 已提交
519 520 521 522
| 名称         | 类型             | 必填 | 描述                                                   |
| ------------ | ---------------- | ---- | ------------------------------------------------------ |
| uri          | string           | 是   | 指示要插入的数据的路径。                               |
| valuesBucket | rdb.ValuesBucket | 是   | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
X
xuchenghua09 已提交
523

Z
zengyawen 已提交
524
**返回值:**
Y
yuyaozhi 已提交
525

Z
zengyawen 已提交
526 527 528
| 类型             | 说明                     |
| ---------------- | ------------------------ |
| Promise\<number> | 返回插入数据记录的索引。 |
X
xuchenghua09 已提交
529

Z
zengyawen 已提交
530
**示例:**
X
xuchenghua09 已提交
531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
const valueBucket = {
    "name": "rose1",
    "age": 221,
    "salary": 20.5,
    "blobType": u8,
}
DAHelper.insert(
    "dataability:///com.example.DataAbility",
    valueBucket
	).then((data) => {
		console.info("==========================>insertCallback=======================>");
});
```

Y
yuyaozhi 已提交
551
## DataAbilityHelper.batchInsert
X
xuchenghua09 已提交
552

Z
zengyawen 已提交
553
batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>, callback: AsyncCallback\<number>): void
X
xuchenghua09 已提交
554

Z
zengyawen 已提交
555
插入数据库(callback形式)。
X
xuchenghua09 已提交
556

Y
yuyaozhi 已提交
557
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
558

Z
zengyawen 已提交
559
**参数:**
X
xuchenghua09 已提交
560

Z
zengyawen 已提交
561 562 563 564 565
| 名称         | 类型                    | 必填 | 描述                             |
| ------------ | ----------------------- | ---- | -------------------------------- |
| uri          | string                  | 是   | 指示要插入的数据的路径。         |
| valuesBucket | Array<rdb.ValuesBucket> | 是   | 指示要插入的数据记录。           |
| callback     | AsyncCallback\<number>  | 是   | 回调方法。返回插入的数据记录数。 |
X
xuchenghua09 已提交
566

Z
zengyawen 已提交
567
**示例:**
X
xuchenghua09 已提交
568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
var 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) => {
		console.info("==========================>Called=======================>");
});
```

Y
yuyaozhi 已提交
585
## DataAbilityHelper.batchInsert
X
xuchenghua09 已提交
586

Z
zengyawen 已提交
587
batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>): Promise\<number>
X
xuchenghua09 已提交
588

Z
zengyawen 已提交
589
将多个数据记录插入数据库(Promise形式)。
X
xuchenghua09 已提交
590

Y
yuyaozhi 已提交
591
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
592

Z
zengyawen 已提交
593
**参数:**
X
xuchenghua09 已提交
594

Z
zengyawen 已提交
595 596 597 598
| 名称         | 类型                    | 必填 | 描述                     |
| ------------ | ----------------------- | ---- | ------------------------ |
| uri          | string                  | 是   | 指示要插入的数据的路径。 |
| valuesBucket | Array<rdb.ValuesBucket> | 是   | 指示要插入的数据记录。   |
X
xuchenghua09 已提交
599

Z
zengyawen 已提交
600
**返回值:**
Y
yuyaozhi 已提交
601

Z
zengyawen 已提交
602 603 604
| 类型             | 说明                   |
| ---------------- | ---------------------- |
| Promise\<number> | 返回插入的数据记录数。 |
X
xuchenghua09 已提交
605

Z
zengyawen 已提交
606
**示例:**
X
xuchenghua09 已提交
607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
var 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) => {
		console.info("==========================>batchInsertCallback=======================>");
});
```

Y
yuyaozhi 已提交
624
## DataAbilityHelper.delete
X
xuchenghua09 已提交
625

Z
zengyawen 已提交
626
delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void
X
xuchenghua09 已提交
627

Z
zengyawen 已提交
628
从数据库中删除一个或多个数据记录(callback形式)。
X
xuchenghua09 已提交
629

Y
yuyaozhi 已提交
630
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
631

Z
zengyawen 已提交
632
**参数:**
X
xuchenghua09 已提交
633

Z
zengyawen 已提交
634 635 636 637 638
| 名称         | 类型                              | 必填 | 描述                                             |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
| uri          | string                            | 是   | 指示要删除的数据的路径。                         |
| valuesBucket | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
| callback     | AsyncCallback\<number>            | 是   | 回调方法。返回已删除的数据记录数。               |
X
xuchenghua09 已提交
639

Z
zengyawen 已提交
640
**示例:**
X
xuchenghua09 已提交
641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656

```js
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.delete(
    "dataability:///com.example.DataAbility",
    da,
    (err, data) => {
		console.info("==========================>Called=======================>");
});
```

Y
yuyaozhi 已提交
657
## DataAbilityHelper.delete
X
xuchenghua09 已提交
658

Z
zengyawen 已提交
659
delete(uri: string, predicates: dataAbility.DataAbilityPredicates): Promise\<number>
X
xuchenghua09 已提交
660

Z
zengyawen 已提交
661
从数据库中删除一个或多个数据记录(Promise形式)。
X
xuchenghua09 已提交
662

Y
yuyaozhi 已提交
663
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
664

Z
zengyawen 已提交
665
**参数:**
X
xuchenghua09 已提交
666

Z
zengyawen 已提交
667 668 669 670
| 名称         | 类型                              | 必填 | 描述                                             |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
| uri          | string                            | 是   | 指示要删除的数据的路径。                         |
| valuesBucket | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
X
xuchenghua09 已提交
671

Z
zengyawen 已提交
672
**返回值:**
Y
yuyaozhi 已提交
673

Z
zengyawen 已提交
674 675 676
| 类型             | 说明                     |
| ---------------- | ------------------------ |
| Promise\<number> | 返回已删除的数据记录数。 |
X
xuchenghua09 已提交
677

Z
zengyawen 已提交
678
**示例:**
X
xuchenghua09 已提交
679 680 681 682 683 684 685 686 687 688 689 690 691 692 693

```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.delete(
    "dataability:///com.example.DataAbility",
    da
	).then((data) => {
		console.info("==========================>deleteCallback=======================>");
});
```

Y
yuyaozhi 已提交
694
## DataAbilityHelper.update
X
xuchenghua09 已提交
695

Z
zengyawen 已提交
696
update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void
X
xuchenghua09 已提交
697

Z
zengyawen 已提交
698
更新数据库中的数据记录(callback形式)。
X
xuchenghua09 已提交
699

Y
yuyaozhi 已提交
700
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
701

Z
zengyawen 已提交
702
**参数:**
X
xuchenghua09 已提交
703

Z
zengyawen 已提交
704 705 706 707 708 709
| 名称         | 类型                              | 必填 | 描述                                             |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
| uri          | string                            | 是   | 指示要更新的数据的路径。                         |
| valuesBucket | rdb.ValuesBucket                  | 是   | 指示要更新的数据。                               |
| predicates   | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
| callback     | AsyncCallback\<number>            | 是   | 回调方法,返回更新的数据记录数。                 |
X
xuchenghua09 已提交
710

Z
zengyawen 已提交
711
**示例:**
X
xuchenghua09 已提交
712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734

```js
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
const va = {
    "name": "roe1",
    "age": 21,
    "salary": 20.5,
    "blobType": u8,
}
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.update(
    "dataability:///com.example.DataAbility",
    va,
    da,
    (err, data) => {
		console.info("==========================>Called=======================>");
});
```

Y
yuyaozhi 已提交
735
## DataAbilityHelper.update
X
xuchenghua09 已提交
736

Z
zengyawen 已提交
737
update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates): Promise\<number>
X
xuchenghua09 已提交
738

Z
zengyawen 已提交
739
更新数据库中的数据记录(Promise形式)。
X
xuchenghua09 已提交
740

Y
yuyaozhi 已提交
741
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
742

Z
zengyawen 已提交
743
**参数:**
X
xuchenghua09 已提交
744

Z
zengyawen 已提交
745 746 747 748 749
| 名称         | 类型                              | 必填 | 描述                                             |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
| uri          | string                            | 是   | 指示要更新的数据的路径。                         |
| valuesBucket | rdb.ValuesBucket                  | 是   | 指示要更新的数据。                               |
| predicates   | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
X
xuchenghua09 已提交
750

Z
zengyawen 已提交
751
**返回值:**
Y
yuyaozhi 已提交
752

Z
zengyawen 已提交
753 754
| 类型             | 说明                                         |
| ---------------- | -------------------------------------------- |
W
wusongqing 已提交
755
| Promise\<number> | Promise中包含更新的数据记录数。 。 |
X
xuchenghua09 已提交
756

Z
zengyawen 已提交
757
**示例:**
X
xuchenghua09 已提交
758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780

```js
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
const va = {
    "name": "roe1",
    "age": 21,
    "salary": 20.5,
    "blobType": u8,
}
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.update(
    "dataability:///com.example.DataAbility",
    va,
    da
	).then((data) => {
		console.info("==========================>updateCallback=======================>");
});
```

Y
yuyaozhi 已提交
781
## DataAbilityHelper.query
X
xuchenghua09 已提交
782

Z
zengyawen 已提交
783
query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void
X
xuchenghua09 已提交
784

Z
zengyawen 已提交
785
查询数据库中的数据(callback形式)。
X
xuchenghua09 已提交
786

Y
yuyaozhi 已提交
787
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
788

Z
zengyawen 已提交
789
**参数:**
X
xuchenghua09 已提交
790

Z
zengyawen 已提交
791 792 793 794 795 796
| 名称       | 类型                              | 必填 | 描述                                             |
| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri        | string                            | 是   | 指示要查询的数据的路径。                         |
| columns    | rdb.ValuesBucket                  | 是   | 指示要查询的列。如果此参数为空,则查询所有列。   |
| predicates | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
| callback   | AsyncCallback\<ResultSet>         | 是   | 回调方法,返回查询结果。                         |
X
xuchenghua09 已提交
797

Z
zengyawen 已提交
798
**示例:**
X
xuchenghua09 已提交
799 800 801 802 803 804 805

```js
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
ahjxliubao2's avatar
ahjxliubao2 已提交
806
var cars=new Array("value1", "value2", "value3", "value4");
X
xuchenghua09 已提交
807 808 809 810 811 812 813 814 815 816 817 818
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.query(
    "dataability:///com.example.DataAbility",
    cars,
    da,
    (err, data) => {
		console.info("==========================>Called=======================>");
});
```



Y
yuyaozhi 已提交
819
## DataAbilityHelper.query
X
xuchenghua09 已提交
820

Z
zengyawen 已提交
821
query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates): Promise\<ResultSet>
X
xuchenghua09 已提交
822

Z
zengyawen 已提交
823
查询数据库中的数据(Promise形式)。
X
xuchenghua09 已提交
824

Y
yuyaozhi 已提交
825
**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel
ahjxliubao2's avatar
ahjxliubao2 已提交
826

Z
zengyawen 已提交
827
**参数:**
X
xuchenghua09 已提交
828

Z
zengyawen 已提交
829 830 831 832 833
| 名称       | 类型                              | 必填 | 描述                                             |
| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri        | string                            | 是   | 指示要查询的数据的路径。                         |
| columns    | rdb.ValuesBucket                  | 是   | 指示要查询的列。如果此参数为空,则查询所有列。   |
| predicates | dataAbility.DataAbilityPredicates | 是   | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
X
xuchenghua09 已提交
834

Z
zengyawen 已提交
835
**返回值:**
Y
yuyaozhi 已提交
836

Z
zengyawen 已提交
837 838 839
| 类型                | 说明           |
| ------------------- | -------------- |
| Promise\<ResultSet> | 返回查询结果。 |
X
xuchenghua09 已提交
840

Z
zengyawen 已提交
841
**示例:**
X
xuchenghua09 已提交
842 843 844 845 846 847 848

```js
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper(
    "dataability:///com.example.DataAbility"
);
ahjxliubao2's avatar
ahjxliubao2 已提交
849
var cars=new Array("value1", "value2", "value3", "value4");
X
xuchenghua09 已提交
850 851 852 853 854 855 856 857
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.query(
    "dataability:///com.example.DataAbility",
    cars,
    da
	).then((data) => {
		console.info("==========================>queryCallback=======================>");
});
D
dy 已提交
858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932
```

## DataAbilityHelper.call

call(uri: string, method: string, arg: string, extras: PacMap): Promise<PacMap>

调用DataAbility的扩展接口,使用Promise方式作为异步方法。

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

**参数:**

| 名称       | 类型                              | 必填 | 描述                                             |
| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri        | string                 | 是   | 指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx"           |
| method    | string                  | 是   | 被调用的方法名。   |
| arg      | string                   | 是   |需传入的参数。      |
| extras   | [PacMap](#pacmap)        | 是   | 键值对参数。       |

**返回值:**

| 类型 | 说明 |
|------ | ------- |
|Promise<[PacMap](#pacmap)> | 调用的返回值。 |

**示例:**

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

let dataAbilityHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.jsapidemo.UserDataAbility");
dataAbilityHelper.call("dataability:///com.example.jsapidemo.UserDataAbility", "method", "arg", {"key1":"value1"}).then((data) => {
    console.info('Operation succeeded: ' + data);
}).catch((error) => {
    console.error('Operation failed. Cause: ' + error);
});
```

## DataAbilityHelper.call

call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback<PacMap>): void

调用DataAbility的扩展接口,使用callback方式作为异步方法。

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

**参数:**

| 名称       | 类型                              | 必填 | 描述                                             |
| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri        | string                 | 是   | 指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx"           |
| method    | string                  | 是   | 被调用的方法名。   |
| arg      | string                   | 是   |需传入的参数。      |
| extras   | [PacMap](#pacmap)        | 是   | 键值对参数。       |
| callback | AsyncCallback<[PacMap](#pacmap)> | 是 | 返回值。     |

**示例:**

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

let dataAbilityHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.jsapidemo.UserDataAbility");
dataAbilityHelper.call("dataability:///com.example.jsapidemo.UserDataAbility", "method", "arg", {"key1":"value1"}, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + err);
        return;
    }
    console.info('Operation succeeded: ' + data);
});
```
## PacMap

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