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