1# DataAbilityHelper 2 3可以通过[acquireDataAbilityHelper](js-apis-ability-featureAbility.md#featureabilityacquiredataabilityhelper7)接口获取DataAbilityHelper对象。 4 5> **说明:** 6> 7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 本模块接口仅可在FA模型下使用。 9 10## 导入模块 11 12```ts 13import ability from '@ohos.ability.ability'; 14``` 15 16## 使用说明 17 18使用前根据具体情况引入如下模块 19```ts 20import ohos_data_ability from '@ohos.data.dataAbility'; 21import ohos_data_rdb from '@ohos.data.rdb'; 22``` 23 24## DataAbilityHelper.openFile 25 26openFile(uri: string, mode: string, callback: AsyncCallback\<number>): void 27 28在指定的远程路径中打开文件(callback形式)。 29 30**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 31 32**参数:** 33 34| 参数名 | 类型 | 必填 | 说明 | 35| -------- | ---------------------- | ---- | ---------------------------------- | 36| uri | string | 是 | 指示要打开的文件的路径。 | 37| mode | string | 是 | 指示文件打开模式‘rwt’。 | 38| callback | AsyncCallback\<number> | 是 | 被指定的回调方法,返回文件说明符。 | 39 40**示例:** 41 42```ts 43import featureAbility from '@ohos.ability.featureAbility'; 44let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 45 'dataability:///com.example.DataAbility' 46); 47let mode = 'rwt'; 48DAHelper.openFile('dataability:///com.example.DataAbility', mode, (err) => { 49 console.info('==========================>Called=======================>'); 50}); 51``` 52 53## DataAbilityHelper.openFile 54 55openFile(uri: string, mode: string): Promise\<number> 56 57在指定的远程路径中打开文件(promise形式)。 58 59**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 60 61**参数:** 62 63| 参数名 | 类型 | 必填 | 说明 | 64| ---- | ------ | ---- | ------------------------ | 65| uri | string | 是 | 指示要打开的文件的路径。 | 66| mode | string | 是 | 指示文件打开模式‘rwt’。 | 67 68**返回值:** 69 70| 类型 | 说明 | 71| ---------------- | ---------------- | 72| Promise\<number> | 返回文件说明符。 | 73 74**示例:** 75 76```ts 77import featureAbility from '@ohos.ability.featureAbility'; 78let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 79 'dataability:///com.example.DataAbility' 80); 81let mode = 'rwt'; 82DAHelper.openFile('dataability:///com.example.DataAbility', mode).then((data) => { 83 console.info('==========================>openFileCallback=======================>'); 84}); 85``` 86 87## DataAbilityHelper.on 88 89on(type: 'dataChange', uri: string, callback: AsyncCallback\<void>): void 90 91注册观察者以观察给定uri指定的数据callback通知。 92 93**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 94 95**参数:** 96 97| 参数名 | 类型 | 必填 | 说明 | 98| -------- | -------------------- | ---- | ------------------------ | 99| type | string | 是 | 数据更改。 | 100| uri | string | 是 | 指示要操作的数据的路径。 | 101| callback | AsyncCallback\<void> | 是 | 指示数据更改时的回调。 | 102 103**示例:** 104 105```ts 106import featureAbility from '@ohos.ability.featureAbility'; 107let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 108 'dataability:///com.example.DataAbility' 109); 110function onChangeNotify() { 111 console.info('==========================>onChangeNotify=======================>'); 112}; 113DAHelper.on( 114 'dataChange', 115 'dataability:///com.example.DataAbility', 116 onChangeNotify 117); 118``` 119 120## DataAbilityHelper.off 121 122off(type: 'dataChange', uri: string, callback?: AsyncCallback\<void>): void 123 124注消观察者以停止观察给定uri指定的数据callback通知。 125 126**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 127 128**参数:** 129 130| 参数名 | 类型 | 必填 | 说明 | 131| -------- | -------------------- | ---- | ------------------------ | 132| type | string | 是 | 数据更改。 | 133| uri | string | 是 | 指示要操作的数据的路径。 | 134| callback | AsyncCallback\<void> | 否 | 指示已注册的回调。 | 135 136**示例:** 137 138```ts 139import featureAbility from '@ohos.ability.featureAbility'; 140let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 141 'dataability:///com.example.DataAbility' 142); 143function onChangeNotify() { 144 console.info('==========================>onChangeNotify=======================>'); 145}; 146DAHelper.off( 147 'dataChange', 148 'dataability:///com.example.DataAbility', 149); 150DAHelper.off( 151 'dataChange', 152 'dataability:///com.example.DataAbility', 153 onChangeNotify 154); 155``` 156 157## DataAbilityHelper.getType 158 159getType(uri: string, callback: AsyncCallback\<string>): void 160 161获取给定URI指定数据的MIME类型(callback形式)。 162 163**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 164 165**参数:** 166 167| 参数名 | 类型 | 必填 | 说明 | 168| -------- | ---------------------- | ---- | --------------------------------------------- | 169| uri | string | 是 | 指示要操作的数据的路径。 | 170| callback | AsyncCallback\<string> | 是 | 回调方法,返回与uri指定的数据匹配的MIME类型。 | 171 172**示例:** 173 174```ts 175import featureAbility from '@ohos.ability.featureAbility'; 176let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 177 'dataability:///com.example.DataAbility' 178); 179DAHelper.getType('dataability:///com.example.DataAbility', (err, data) => { 180 console.info('==========================>Called=======================>'); 181}); 182``` 183 184## DataAbilityHelper.getType 185 186getType(uri: string): Promise\<string> 187 188获取给定URI指定数据的MIME类型(Promise形式)。 189 190**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 191 192**参数:** 193 194| 参数名 | 类型 | 必填 | 说明 | 195| ---- | ------ | ---- | ------------------------ | 196| uri | string | 是 | 指示要操作的数据的路径。 | 197 198**返回值:** 199 200| 类型 | 说明 | 201| ---------------- | ----------------------------------- | 202| Promise\<string> | 返回与uri指定的数据匹配的MIME类型。 | 203 204**示例:** 205 206```ts 207import featureAbility from '@ohos.ability.featureAbility'; 208let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 209 'dataability:///com.example.DataAbility' 210); 211DAHelper.getType('dataability:///com.example.DataAbility').then((data) => { 212 console.info('==========================>getTypeCallback=======================>'); 213}); 214``` 215 216## DataAbilityHelper.getFileTypes 217 218getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\<string>>): void 219 220获取支持的文件的MIME类型(callback形式)。 221 222**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 223 224**参数:** 225 226| 参数名 | 类型 | 必填 | 说明 | 227| -------------- | ------------------------------ | ---- | ---------------------------------- | 228| uri | string | 是 | 指示要获取的文件的路径。 | 229| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 | 230| callback | AsyncCallback\<Array\<string>> | 是 | 回调方法,返回匹配的MIME类型数组。 | 231 232**示例:** 233 234```ts 235import featureAbility from '@ohos.ability.featureAbility'; 236let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 237 'dataability:///com.example.DataAbility' 238); 239DAHelper.getFileTypes( 'dataability:///com.example.DataAbility', 240 'image/*', (err, data) => { 241 console.info('==========================>Called=======================>'); 242}); 243``` 244 245 246 247## DataAbilityHelper.getFileTypes 248 249getFileTypes(uri: string, mimeTypeFilter: string): Promise\<Array\<string>> 250 251获取支持的文件的MIME类型(Promise形式)。 252 253**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 254 255**参数:** 256 257| 参数名 | 类型 | 必填 | 说明 | 258| -------------- | ------ | ---- | ---------------------------- | 259| uri | string | 是 | 指示要获取的文件的路径。 | 260| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 | 261 262**返回值:** 263 264| 类型 | 说明 | 265| ------------------------ | ------------------------ | 266| Promise\<Array\<string>> | 返回匹配的MIME类型数组。 | 267 268**示例:** 269 270```ts 271import featureAbility from '@ohos.ability.featureAbility'; 272let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 273 'dataability:///com.example.DataAbility' 274); 275DAHelper.getFileTypes('dataability:///com.example.DataAbility', 276 'image/*').then((data) => { 277 console.info('===================>getFileTypesCallback================>'); 278}); 279``` 280 281## DataAbilityHelper.normalizeUri 282 283normalizeUri(uri: string, callback: AsyncCallback\<string>): void 284 285将引用数据功能的给定uri转换为规范化uri(callback形式)。 286 287**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 288 289**参数:** 290 291| 参数名 | 类型 | 必填 | 说明 | 292| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 293| uri | string | 是 | 指示要规范化的uri对象。 | 294| callback | AsyncCallback\<string> | 是 | 回调方法。如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 | 295 296**示例:** 297 298```ts 299import featureAbility from '@ohos.ability.featureAbility'; 300let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 301 'dataability:///com.example.DataAbility' 302); 303DAHelper.normalizeUri('dataability:///com.example.DataAbility', (err, data) => { 304 console.info('==========================>Called=======================>'); 305}); 306``` 307 308## DataAbilityHelper.normalizeUri 309 310normalizeUri(uri: string): Promise\<string> 311 312将引用数据功能的给定uri转换为规范化uri(Promise形式)。 313 314**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 315 316**参数:** 317 318| 参数名 | 类型 | 必填 | 说明 | 319| ---- | ------ | ---- | ----------------------- | 320| uri | string | 是 | 指示要规范化的uri对象。 | 321 322**返回值:** 323 324| 类型 | 说明 | 325| ---------------- | ------------------------------------------------------ | 326| Promise\<string> | 如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 | 327 328**示例:** 329 330```ts 331import featureAbility from '@ohos.ability.featureAbility'; 332let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 333 'dataability:///com.example.DataAbility' 334); 335DAHelper.normalizeUri('dataability:///com.example.DataAbility',).then((data) => { 336 console.info('=================>normalizeUriCallback=======================>'); 337}); 338``` 339 340## DataAbilityHelper.denormalizeUri 341 342denormalizeUri(uri: string, callback: AsyncCallback\<string>): void 343 344将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。 345 346**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 347 348**参数:** 349 350| 参数名 | 类型 | 必填 | 说明 | 351| -------- | ---------------------- | ---- | --------------------------------------------------- | 352| uri | string | 是 | 指示要规范化的uri对象。 | 353| callback | AsyncCallback\<string> | 是 | 回调方法。如果反规范化成功,则返回反规范化uri对象。 | 354 355**示例:** 356 357```ts 358import featureAbility from '@ohos.ability.featureAbility'; 359let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 360 'dataability:///com.example.DataAbility' 361); 362DAHelper.denormalizeUri('dataability:///com.example.DataAbility', (err, data) => { 363 console.info('==========================>Called=======================>'); 364}); 365``` 366 367 368 369## DataAbilityHelper.denormalizeUri 370 371denormalizeUri(uri: string): Promise\<string> 372 373将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式)。 374 375**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 376 377**参数:** 378 379| 参数名 | 类型 | 必填 | 说明 | 380| ---- | ------ | ---- | ----------------------- | 381| uri | string | 是 | 指示要规范化的uri对象。 | 382 383**返回值:** 384 385| 类型 | 说明 | 386| ---------------- | ----------------------------------------- | 387| Promise\<string> | 如果反规范化成功,则返回反规范化uri对象。 | 388 389**示例:** 390 391```ts 392import featureAbility from '@ohos.ability.featureAbility'; 393let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 394 'dataability:///com.example.DataAbility' 395); 396DAHelper.denormalizeUri('dataability:///com.example.DataAbility',).then((data) => { 397 console.info('===============>denormalizeUriCallback=======================>'); 398}); 399``` 400 401## DataAbilityHelper.notifyChange 402 403notifyChange(uri: string, callback: AsyncCallback\<void>): void 404 405通知已注册的观察者uri指定的数据资源的更改(callback形式)。 406 407**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 408 409**参数:** 410 411| 参数名 | 类型 | 必填 | 说明 | 412| -------- | -------------------- | ---- | ------------------------ | 413| uri | string | 是 | 指示要操作的数据的路径。 | 414| callback | AsyncCallback\<void> | 是 | 回调方法。 | 415 416**示例:** 417 418```ts 419import featureAbility from '@ohos.ability.featureAbility'; 420let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 421 'dataability:///com.example.DataAbility' 422); 423DAHelper.notifyChange('dataability:///com.example.DataAbility', (err) => { 424 console.info('==========================>Called=======================>'); 425}); 426``` 427 428## DataAbilityHelper.notifyChange 429 430notifyChange(uri: string): Promise\<void> 431 432通知已注册的观察者uri指定的数据资源的更改(Promise形式)。 433 434**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 435 436**参数:** 437 438| 参数名 | 类型 | 必填 | 说明 | 439| ---- | ------ | ---- | ------------------------ | 440| uri | string | 是 | 指示要操作的数据的路径。 | 441 442**返回值:** 443 444| 类型 | 说明 | 445| -------------- | --------------------- | 446| Promise\<void> | 返回值为Promise对象。 | 447 448**示例:** 449 450```ts 451import featureAbility from '@ohos.ability.featureAbility'; 452let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 453 'dataability:///com.example.DataAbility' 454); 455DAHelper.notifyChange('dataability:///com.example.DataAbility').then(() => { 456 console.info('================>notifyChangeCallback================>'); 457}); 458``` 459 460## DataAbilityHelper.insert 461 462insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\<number>): void 463 464将单个数据记录插入数据库(callback形式)。 465 466**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 467 468**参数:** 469 470| 参数名 | 类型 | 必填 | 说明 | 471| ------------ | ---------------------- | ---- | ------------------------------------------------------ | 472| uri | string | 是 | 指示要插入的数据的路径。 | 473| valuesBucket | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | 474| callback | AsyncCallback\<number> | 是 | 回调方法,返回插入数据记录的索引。 | 475 476**示例:** 477 478```ts 479import featureAbility from '@ohos.ability.featureAbility'; 480let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 481 'dataability:///com.example.DataAbility' 482); 483const valueBucket = { 484 'name': 'rose', 485 'age': 22, 486 'salary': 200.5, 487 'blobType': 'u8', 488}; 489DAHelper.insert('dataability:///com.example.DataAbility', valueBucket, 490 (err, data) => { 491 console.info('==========================>Called=======================>'); 492}); 493``` 494 495## DataAbilityHelper.insert 496 497insert(uri: string, valuesBucket: rdb.ValuesBucket): Promise\<number> 498 499将单个数据记录插入数据库(Promise形式)。 500 501**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 502 503**参数:** 504 505| 参数名 | 类型 | 必填 | 说明 | 506| ------------ | ---------------- | ---- | ------------------------------------------------------ | 507| uri | string | 是 | 指示要插入的数据的路径。 | 508| valuesBucket | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | 509 510**返回值:** 511 512| 类型 | 说明 | 513| ---------------- | ------------------------ | 514| Promise\<number> | 返回插入数据记录的索引。 | 515 516**示例:** 517 518```ts 519import featureAbility from '@ohos.ability.featureAbility'; 520let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 521 'dataability:///com.example.DataAbility' 522); 523const valueBucket = { 524 'name': 'rose1', 525 'age': 221, 526 'salary': 20.5, 527 'blobType': 'u8', 528}; 529DAHelper.insert('dataability:///com.example.DataAbility', valueBucket).then((data) => { 530 console.info('====================>insertCallback=======================>'); 531}); 532``` 533 534## DataAbilityHelper.batchInsert 535 536batchInsert(uri: string, valuesBuckets: Array\<rdb.ValuesBucket>, callback: AsyncCallback\<number>): void 537 538插入数据库(callback形式)。 539 540**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 541 542**参数:** 543 544| 参数名 | 类型 | 必填 | 说明 | 545| ------------ | ----------------------- | ---- | -------------------------------- | 546| uri | string | 是 | 指示要插入的数据的路径。 | 547| valuesBucket | Array\<rdb.ValuesBucket> | 是 | 指示要插入的数据记录。 | 548| callback | AsyncCallback\<number> | 是 | 回调方法。返回插入的数据记录数。 | 549 550**示例:** 551 552```ts 553import featureAbility from '@ohos.ability.featureAbility'; 554let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 555 'dataability:///com.example.DataAbility' 556); 557let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, 558 {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, 559 {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}); 560DAHelper.batchInsert('dataability:///com.example.DataAbility', cars, 561 (err, data) => { 562 console.info('==========================>Called=======================>'); 563}); 564``` 565 566## DataAbilityHelper.batchInsert 567 568batchInsert(uri: string, valuesBuckets: Array<rdb.ValuesBucket>): Promise\<number> 569 570将多个数据记录插入数据库(Promise形式)。 571 572**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 573 574**参数:** 575 576| 参数名 | 类型 | 必填 | 说明 | 577| ------------ | ----------------------- | ---- | ------------------------ | 578| uri | string | 是 | 指示要插入的数据的路径。 | 579| valuesBucket | Array<rdb.ValuesBucket> | 是 | 指示要插入的数据记录。 | 580 581**返回值:** 582 583| 类型 | 说明 | 584| ---------------- | ---------------------- | 585| Promise\<number> | 返回插入的数据记录数。 | 586 587**示例:** 588 589```ts 590import featureAbility from '@ohos.ability.featureAbility'; 591let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 592 'dataability:///com.example.DataAbility' 593); 594let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, 595 {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, 596 {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}); 597DAHelper.batchInsert('dataability:///com.example.DataAbility', cars).then((data) => { 598 console.info('==================>batchInsertCallback=======================>'); 599}); 600``` 601 602## DataAbilityHelper.delete 603 604delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void 605 606从数据库中删除一个或多个数据记录(callback形式)。 607 608**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 609 610**参数:** 611 612| 参数名 | 类型 | 必填 | 说明 | 613| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 614| uri | string | 是 | 指示要删除的数据的路径。 | 615| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 616| callback | AsyncCallback\<number> | 是 | 回调方法。返回已删除的数据记录数。 | 617 618**示例:** 619 620```ts 621import featureAbility from '@ohos.ability.featureAbility'; 622import ohos_data_ability from '@ohos.data.dataAbility'; 623let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 624 'dataability:///com.example.DataAbility' 625); 626let da = new ohos_data_ability.DataAbilityPredicates(); 627DAHelper.delete('dataability:///com.example.DataAbility', da, 628 (err, data) => { 629 console.info('==========================>Called=======================>'); 630}); 631``` 632 633## DataAbilityHelper.delete 634 635delete(uri: string, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>; 636 637从数据库中删除一个或多个数据记录(Promise形式)。 638 639**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 640 641**参数:** 642 643| 参数名 | 类型 | 必填 | 说明 | 644| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 645| uri | string | 是 | 指示要删除的数据的路径。 | 646| predicates | dataAbility.DataAbilityPredicates | 否 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 647 648**返回值:** 649 650| 类型 | 说明 | 651| ---------------- | ------------------------ | 652| Promise\<number> | 返回已删除的数据记录数。 | 653 654**示例:** 655 656```ts 657import featureAbility from '@ohos.ability.featureAbility'; 658import ohos_data_ability from '@ohos.data.dataAbility'; 659let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 660 'dataability:///com.example.DataAbility' 661); 662let da = new ohos_data_ability.DataAbilityPredicates(); 663DAHelper.delete('dataability:///com.example.DataAbility', da).then((data) => { 664 console.info('==========================>deleteCallback=======================>'); 665}); 666``` 667 668## DataAbilityHelper.update 669 670update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void 671 672更新数据库中的数据记录(callback形式)。 673 674**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 675 676**参数:** 677 678| 参数名 | 类型 | 必填 | 说明 | 679| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 680| uri | string | 是 | 指示要更新的数据的路径。 | 681| valuesBucket | rdb.ValuesBucket | 是 | 指示要更新的数据。 | 682| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 683| callback | AsyncCallback\<number> | 是 | 回调方法,返回更新的数据记录数。 | 684 685**示例:** 686 687```ts 688import featureAbility from '@ohos.ability.featureAbility'; 689import ohos_data_ability from '@ohos.data.dataAbility'; 690let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 691 'dataability:///com.example.DataAbility' 692); 693const va = { 694 'name': 'roe1', 695 'age': 21, 696 'salary': 20.5, 697 'blobType': 'u8', 698}; 699let da = new ohos_data_ability.DataAbilityPredicates(); 700DAHelper.update('dataability:///com.example.DataAbility', va, da, (err, data) => { 701 console.info('==========================>Called=======================>'); 702}); 703``` 704 705## DataAbilityHelper.update 706 707update(uri: string, valuesBucket: rdb.ValuesBucket, predicates?: dataAbility.DataAbilityPredicates): Promise\<number>; 708 709更新数据库中的数据记录(Promise形式)。 710 711**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 712 713**参数:** 714 715| 参数名 | 类型 | 必填 | 说明 | 716| ------------ | --------------------------------- | ---- | ------------------------------------------------ | 717| uri | string | 是 | 指示要更新的数据的路径。 | 718| valuesBucket | rdb.ValuesBucket | 是 | 指示要更新的数据。 | 719| predicates | dataAbility.DataAbilityPredicates | 否 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 720 721**返回值:** 722 723| 类型 | 说明 | 724| ---------------- | -------------------------------------------- | 725| Promise\<number> | Promise中包含更新的数据记录数。 。 | 726 727**示例:** 728 729```ts 730import featureAbility from '@ohos.ability.featureAbility'; 731import ohos_data_ability from '@ohos.data.dataAbility'; 732let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 733 'dataability:///com.example.DataAbility' 734); 735const va = { 736 'name': 'roe1', 737 'age': 21, 738 'salary': 20.5, 739 'blobType': 'u8', 740}; 741let da = new ohos_data_ability.DataAbilityPredicates(); 742DAHelper.update('dataability:///com.example.DataAbility', va, da).then((data) => { 743 console.info('==========================>updateCallback=======================>'); 744}); 745``` 746 747## DataAbilityHelper.query 748 749query(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void 750 751查询数据库中的数据(callback形式)。 752 753**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 754 755**参数:** 756 757| 参数名 | 类型 | 必填 | 说明 | 758| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 759| uri | string | 是 | 指示要查询的数据的路径。 | 760| columns | Array\<string> | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | 761| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 762| callback | AsyncCallback\<ResultSet> | 是 | 回调方法,返回查询结果。 | 763 764**示例:** 765 766```ts 767import featureAbility from '@ohos.ability.featureAbility'; 768import ohos_data_ability from '@ohos.data.dataAbility'; 769let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 770 'dataability:///com.example.DataAbility' 771); 772let cars=new Array('value1', 'value2', 'value3', 'value4'); 773let da = new ohos_data_ability.DataAbilityPredicates(); 774DAHelper.query('dataability:///com.example.DataAbility', cars, da, (err, data) => { 775 console.info('==========================>Called=======================>'); 776}); 777``` 778 779 780 781## DataAbilityHelper.query 782 783query(uri: string, columns?: Array\<string>, predicates?: dataAbility.DataAbilityPredicates): Promise\<ResultSet>; 784 785查询数据库中的数据(Promise形式)。 786 787**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 788 789**参数:** 790 791| 参数名 | 类型 | 必填 | 说明 | 792| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 793| uri | string | 是 | 指示要查询的数据的路径。 | 794| columns | Array\<string> | 否 | 指示要查询的列。如果此参数为空,则查询所有列。 | 795| predicates | dataAbility.DataAbilityPredicates | 否 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | 796 797**返回值:** 798 799| 类型 | 说明 | 800| ------------------- | -------------- | 801| Promise\<ResultSet> | 返回查询结果。 | 802 803**示例:** 804 805```ts 806import featureAbility from '@ohos.ability.featureAbility'; 807import ohos_data_ability from '@ohos.data.dataAbility'; 808let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 809 'dataability:///com.example.DataAbility' 810); 811let cars = new Array('value1', 'value2', 'value3', 'value4'); 812let da = new ohos_data_ability.DataAbilityPredicates(); 813DAHelper.query('dataability:///com.example.DataAbility', cars, da).then((data) => { 814 console.info('query data: ${JSON.stringify(data)}'); 815}); 816``` 817 818## DataAbilityHelper.call 819 820call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback\<PacMap>): void 821 822调用DataAbility的扩展接口(callback形式)。 823 824**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 825 826**参数:** 827 828| 参数名 | 类型 | 必填 | 说明 | 829| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 830| uri | string | 是 | 指示待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx' | 831| method | string | 是 | 指示被调用的方法名。 | 832| arg | string | 是 | 指示需传入的参数。 | 833| extras | [PacMap](#pacmap) | 是 | 指示扩展的键值对参数。 | 834| callback | AsyncCallback\<[PacMap](#pacmap)> | 是 | 指示数据操作的回调方法,返回操作结果。 | 835 836**示例:** 837 838```ts 839import featureAbility from '@ohos.ability.featureAbility'; 840 841let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 842 'dataability:///com.example.jsapidemo.UserDataAbility' 843); 844dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility', 845 'method', 'arg', {'key1':'value1'}, (error, data) => { 846 if (error && error.code !== 0) { 847 console.error('call fail, error: ${JSON.stringify(error)}'); 848 } else { 849 console.log('call success, data: ${JSON.stringify(data)}'); 850 } 851}); 852``` 853 854## DataAbilityHelper.call 855 856call(uri: string, method: string, arg: string, extras: PacMap): Promise\<PacMap> 857 858调用DataAbility的扩展接口,使用Promise方式作为异步方法。 859 860**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 861 862**参数:** 863 864| 参数名 | 类型 | 必填 | 说明 | 865| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 866| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx' | 867| method | string | 是 | 被调用的方法名。 | 868| arg | string | 是 |需传入的参数。 | 869| extras | [PacMap](#pacmap) | 是 | 键值对参数。 | 870 871**返回值:** 872 873| 类型 | 说明 | 874|------ | ------- | 875|Promise\<[PacMap](#pacmap)> | 调用的返回值。 | 876 877**示例:** 878 879```ts 880import featureAbility from '@ohos.ability.featureAbility'; 881 882let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 883 'dataability:///com.example.jsapidemo.UserDataAbility' 884); 885dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility', 886 'method', 'arg', {'key1':'value1'}).then((data) => { 887 console.info('Operation succeeded: ' + data); 888}).catch((error) => { 889 console.error('Operation failed. Cause: ' + error); 890}); 891``` 892 893## DataAbilityHelper.call 894 895call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback\<PacMap>): void 896 897调用DataAbility的扩展接口,使用callback方式作为异步方法。 898 899**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 900 901**参数:** 902 903| 参数名 | 类型 | 必填 | 说明 | 904| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 905| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx' | 906| method | string | 是 | 被调用的方法名。 | 907| arg | string | 是 |需传入的参数。 | 908| extras | [PacMap](#pacmap) | 是 | 键值对参数。 | 909| callback | AsyncCallback\<[PacMap](#pacmap)> | 是 | 返回值。 | 910 911**示例:** 912 913```ts 914import featureAbility from '@ohos.ability.featureAbility'; 915 916let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( 917 'dataability:///com.example.jsapidemo.UserDataAbility'); 918dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility', 919 'method', 'arg', {'key1':'value1'}, (err, data) => { 920 if (err) { 921 console.error('Operation failed. Cause: ' + err); 922 return; 923 } 924 console.info('Operation succeeded: ' + data); 925}); 926``` 927 928## DataAbilityHelper.executeBatch 929 930executeBatch(uri: string, operations: Array\<DataAbilityOperation>, callback: AsyncCallback\<Array\<DataAbilityResult>>): void; 931 932查询数据库中的数据。 933 934**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 935 936**参数:** 937 938| 参数名 | 类型 | 必填 | 说明 | 939| ---------- | --------------------------------- | ---- | ------------------------------------------------ | 940| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。| 941| operations | Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)> | 是 | 指示数据操作列表,其中可以包含对数据库的多个操作。 | 942| callback | AsyncCallback\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>> | 是 |在数组 DataAbilityResult中返回每个操作的结果。 | 943 944**示例:** 945 946```ts 947import featureAbility from '@ohos.ability.featureAbility'; 948 949// 根据DataAbilityOperation列表选择要对数据库做的操作 950let op=new Array(); 951let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 952 'dataability:///com.example.jsapidemo.UserDataAbility' 953); 954dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op, (error, data) => { 955 if (error && error.code !== 0) { 956 console.error('executeBatch fail, error: ${JSON.stringify(error)}'); 957 } else { 958 console.log('executeBatch success, data: ${JSON.stringify(data)}'); 959 } 960 console.info('Operation succeeded: ' + data); 961}); 962``` 963 964## DataAbilityHelper.executeBatch 965 966executeBatch(uri: string, operations: Array\<DataAbilityOperation>): Promise\<Array\<DataAbilityResult>>; 967 968查询数据库中的数据。 969 970**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 971 972**参数:** 973 974| 参数名 | 类型 | 必填 | 说明 | 975| ---------- | -------------------------------| ---- | ------------------------------------------------ | 976| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。| 977| operations | Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)> | 是 | 指示数据操作列表,其中可以包含对数据库的多个操作。 | 978 979**返回值:** 980 981| 类型 | 说明 | 982|------ | ------- | 983|Promise\<Array\<[DataAbilityResult](js-apis-inner-ability-dataAbilityResult.md)>> | 在数组 DataAbilityResult中返回每个操作的结果。 | 984 985**示例:** 986 987```ts 988import featureAbility from '@ohos.ability.featureAbility'; 989 990// 根据DataAbilityOperation列表选择要对数据库做的操作 991let op=new Array(); 992let dataAbilityHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper( 993 'dataability:///com.example.jsapidemo.UserDataAbility' 994); 995dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op).then((data) => { 996 console.info('executeBatch success, data: ${data}'); 997}).catch((error) => { 998 console.error('Operation failed. Cause: ' + error); 999}); 1000 1001``` 1002 1003## PacMap 1004 1005[key: string]: number | string | boolean | Array\<string | number | boolean> | null; 1006 1007**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel 1008 1009| 参数名 | 参数类型 | 必填 | 说明 | 1010| ------ | ------ | ------ | ------ | 1011| [key: string] | number \| string \| boolean \| Array\<string \| number \| boolean\> \| null | Yes| 数据存储在键值对中。|