国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開(kāi)發(fā)組件:?jiǎn)?dòng)與訪(fǎng)問(wèn)DataAbility

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-20 15:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

啟動(dòng)DataAbility

啟動(dòng)DataAbility會(huì)獲取一個(gè)工具接口類(lèi)對(duì)象(DataAbilityHelper)。啟動(dòng)DataAbility的示例代碼如下:

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

let uri: string = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(uri);

訪(fǎng)問(wèn)DataAbility

訪(fǎng)問(wèn)DataAbility需導(dǎo)入基礎(chǔ)依賴(lài)包,以及獲取與DataAbility子模塊通信的URI字符串。

其中,基礎(chǔ)依賴(lài)包包括: 開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

搜狗高速瀏覽器截圖20240326151547.png

  • @ohos.ability.featureAbility
  • @ohos.data.dataAbility

訪(fǎng)問(wèn)DataAbility的示例代碼如下:

  1. 創(chuàng)建工具接口類(lèi)對(duì)象。

    import featureAbility from '@ohos.ability.featureAbility';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import ability from '@ohos.ability.ability';
    // 作為參數(shù)傳遞的URI,與config中定義的URI的區(qū)別是多了一個(gè)"/",有三個(gè)"/"
    let uri: string = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
    let DAHelper: ability.DataAbilityHelper = featureAbility.acquireDataAbilityHelper(uri);
    
  2. 構(gòu)建數(shù)據(jù)庫(kù)相關(guān)的RDB數(shù)據(jù)。

    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    let valuesBucket_insert: rdb.ValuesBucket = { name: 'Rose', introduction: 'insert' };
    let valuesBucket_update: rdb.ValuesBucket = { name: 'Rose', introduction: 'update' };
    let crowd = new Array({ name: 'Rose', introduction: 'batchInsert_one' } as rdb.ValuesBucket,
      { name: 'Rose', introduction: 'batchInsert_two' } as rdb.ValuesBucket);
    let columnArray = new Array('id', 'name', 'introduction');
    let predicates = new ohos_data_ability.DataAbilityPredicates();
    

    注:關(guān)于DataAbilityPredicates的詳細(xì)內(nèi)容,請(qǐng)參考[DataAbility謂詞]。

  3. 調(diào)用insert方法向指定的DataAbility子模塊插入數(shù)據(jù)。

    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    
    // callback方式調(diào)用:
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private valuesBucket_insert: rdb.ValuesBucket = { name: 'Rose', introduction: 'insert' };
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // callback方式調(diào)用:
                  this.DAHelper.insert(this.uri, this.valuesBucket_insert, (error: BusinessError, data: number) = > {
                    if (error && error.code !== 0) {
                      promptAction.showToast({
                        message: $r('app.string.insert_failed_toast')
                      });
                    } else {
                      promptAction.showToast({
                        message: $r('app.string.insert_success_toast')
                      });
                    }
                    hilog.info(domain, TAG, 'DAHelper insert result: ' + data + ', error: ' + JSON.stringify(error));
                  }
                  );
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private valuesBucket_insert: rdb.ValuesBucket = { name: 'Rose', introduction: 'insert' };
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // promise方式調(diào)用(await需要在async方法中使用):
                  this.DAHelper.insert(this.uri, this.valuesBucket_insert).then((datainsert) = > {
                    promptAction.showToast({
                      message: $r('app.string.insert_success_toast')
                    });
                    hilog.info(domain, TAG, 'DAHelper insert result: ' + datainsert);
                  }).catch((error: BusinessError) = > {
                    promptAction.showToast({
                      message: $r('app.string.insert_failed_toast')
                    });
                    hilog.error(domain, TAG, `DAHelper insert failed. Cause: ${error.message}`);
                  });
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
  4. 調(diào)用delete方法刪除DataAbility子模塊中指定的數(shù)據(jù)。

    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private predicates = new ohos_data_ability.DataAbilityPredicates();
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // callback方式調(diào)用:
                  this.DAHelper.delete(this.uri, this.predicates, (error, data) = > {
                    if (error && error.code !== 0) {
                      promptAction.showToast({
                        message: $r('app.string.delete_failed_toast')
                      });
                    } else {
                      promptAction.showToast({
                        message: $r('app.string.delete_success_toast')
                      });
                    }
                    hilog.info(domain, TAG, 'DAHelper delete result: ' + data + ', error: ' + JSON.stringify(error));
                  }
                  );
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private predicates = new ohos_data_ability.DataAbilityPredicates();
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // promise方式調(diào)用(await需要在async方法中使用):
                  this.DAHelper.delete(this.uri, this.predicates).then((datadelete) = > {
                    promptAction.showToast({
                      message: $r('app.string.delete_success_toast')
                    });
                    hilog.info(domain, TAG, 'DAHelper delete result: ' + datadelete);
                  }).catch((error: BusinessError) = > {
                    promptAction.showToast({
                      message: $r('app.string.delete_failed_toast')
                    });
                    hilog.error(domain, TAG, `DAHelper delete failed. Cause: ${error.message}`);
                  });
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
  5. 調(diào)用update方法更新指定DataAbility子模塊中的數(shù)據(jù)。

    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private valuesBucket_update: rdb.ValuesBucket = { name: 'Rose', introduction: 'update' };
      private predicates = new ohos_data_ability.DataAbilityPredicates();
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // callback方式調(diào)用:
                  this.predicates.equalTo('name', 'Rose');
                  this.DAHelper.update(this.uri, this.valuesBucket_update, this.predicates, (error, data) = > {
                    if (error && error.code !== 0) {
                      promptAction.showToast({
                        message: $r('app.string.update_failed_toast')
                      });
                    } else {
                      promptAction.showToast({
                        message: $r('app.string.update_success_toast')
                      });
                    }
                    hilog.info(domain, TAG, 'DAHelper update result: ' + data + ', error: ' + JSON.stringify(error));
                  }
                  );
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private valuesBucket_update: rdb.ValuesBucket = { name: 'Rose', introduction: 'update' };
      private predicates = new ohos_data_ability.DataAbilityPredicates();
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // promise方式調(diào)用(await需要在async方法中使用):
                  this.predicates.equalTo('name', 'Rose');
                  this.DAHelper.update(this.uri, this.valuesBucket_update, this.predicates).then((dataupdate) = > {
                    promptAction.showToast({
                      message: $r('app.string.update_success_toast')
                    });
                    hilog.info(domain, TAG, 'DAHelper update result: ' + dataupdate);
                  }).catch((error: BusinessError) = > {
                    promptAction.showToast({
                      message: $r('app.string.update_failed_toast')
                    });
                    hilog.error(domain, TAG, `DAHelper update failed. Cause: ${error.message}`);
                  });
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
  6. 調(diào)用query方法在指定的DataAbility子模塊中查找數(shù)據(jù)。

    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private columnArray = new Array('id', 'name', 'introduction');
      private predicates = new ohos_data_ability.DataAbilityPredicates();
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // callback方式調(diào)用:
                  this.predicates.equalTo('name', 'Rose');
                  this.DAHelper.query(this.uri, this.columnArray, this.predicates, (error, data) = > {
                    if (error && error.code !== 0) {
                      promptAction.showToast({
                        message: $r('app.string.query_failed_toast')
                      });
                      hilog.error(domain, TAG, `DAHelper query failed. Cause: ${error.message}`);
                    } else {
                      promptAction.showToast({
                        message: $r('app.string.query_success_toast')
                      });
                    }
                    // ResultSet是一個(gè)數(shù)據(jù)集合的游標(biāo),默認(rèn)指向第-1個(gè)記錄,有效的數(shù)據(jù)從0開(kāi)始。
                    while (data.goToNextRow()) {
                      const id = data.getLong(data.getColumnIndex('id'));
                      const name = data.getString(data.getColumnIndex('name'));
                      const introduction = data.getString(data.getColumnIndex('introduction'));
                      hilog.info(domain, TAG, `DAHelper query result:id = [${id}], name = [${name}], introduction = [${introduction}]`);
                    }
                    // 釋放數(shù)據(jù)集的內(nèi)存
                    data.close();
                  }
                  );
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private columnArray = new Array('id', 'name', 'introduction');
      private predicates = new ohos_data_ability.DataAbilityPredicates();
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // promise方式調(diào)用(await需要在async方法中使用):
                  this.predicates.equalTo('name', 'Rose');
                  this.DAHelper.query(this.uri, this.columnArray, this.predicates).then((dataquery) = > {
                    promptAction.showToast({
                      message: $r('app.string.query_success_toast')
                    });
                    // ResultSet是一個(gè)數(shù)據(jù)集合的游標(biāo),默認(rèn)指向第-1個(gè)記錄,有效的數(shù)據(jù)從0開(kāi)始。
                    while (dataquery.goToNextRow()) {
                      const id = dataquery.getLong(dataquery.getColumnIndex('id'));
                      const name = dataquery.getString(dataquery.getColumnIndex('name'));
                      const introduction = dataquery.getString(dataquery.getColumnIndex('introduction'));
                      hilog.info(domain, TAG, `DAHelper query result:id = [${id}], name = [${name}], introduction = [${introduction}]`);
                    }
                    // 釋放數(shù)據(jù)集的內(nèi)存
                    dataquery.close();
                  }).catch((error: BusinessError) = > {
                    promptAction.showToast({
                      message: $r('app.string.query_failed_toast')
                    });
                    hilog.error(domain, TAG, `DAHelper query failed. Cause: ${error.message}`);
                  });
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
  7. 調(diào)用batchInsert方法向指定的DataAbility子模塊批量插入數(shù)據(jù)。

    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private crowd = new Array({ name: 'Rose', introduction: 'batchInsert_one' } as rdb.ValuesBucket,
        { name: 'Rose', introduction: 'batchInsert_two' } as rdb.ValuesBucket);
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // callback方式調(diào)用:
                  this.DAHelper.batchInsert(this.uri, this.crowd, (error, data) = > {
                    if (error && error.code !== 0) {
                      promptAction.showToast({
                        message: $r('app.string.batchInsert_failed_toast')
                      });
                    } else {
                      promptAction.showToast({
                        message: $r('app.string.batchInsert_success_toast')
                      });
                    }
                    hilog.info(domain, TAG, 'DAHelper batchInsert result: ' + data + ', error: ' + JSON.stringify(error));
                  }
                  );
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private crowd = new Array({ name: 'Rose', introduction: 'batchInsert_one' } as rdb.ValuesBucket,
        { name: 'Rose', introduction: 'batchInsert_two' } as rdb.ValuesBucket);
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // promise方式調(diào)用(await需要在async方法中使用):
                  this.DAHelper.batchInsert(this.uri, this.crowd).then((databatchInsert) = > {
                    promptAction.showToast({
                      message: $r('app.string.batchInsert_success_toast')
                    });
                    hilog.info(domain, TAG, 'DAHelper batchInsert result: ' + databatchInsert);
                  }).catch((error: BusinessError) = > {
                    promptAction.showToast({
                      message: $r('app.string.batchInsert_failed_toast')
                    });
                    hilog.error(domain, TAG, `DAHelper batchInsert failed. Cause: ${error.message}`);
                  });
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    
  8. 調(diào)用executeBatch方法向指定的DataAbility子模塊進(jìn)行數(shù)據(jù)的批量處理。

    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private predicates = new ohos_data_ability.DataAbilityPredicates();
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // callback方式調(diào)用:
                  let operations: Array< ability.DataAbilityOperation > = [{
                    uri: this.uri,
                    type: featureAbility.DataAbilityOperationType.TYPE_INSERT,
                    valuesBucket: { name: 'Rose', introduction: 'executeBatch' },
                    predicates: this.predicates,
                    expectedCount: 0,
                    predicatesBackReferences: undefined,
                    interrupted: true,
                  }];
                  this.DAHelper.executeBatch(this.uri, operations, (error, data) = > {
                    if (error && error.code !== 0) {
                      promptAction.showToast({
                        message: $r('app.string.executeBatch_failed_toast')
                      });
                    } else {
                      promptAction.showToast({
                        message: $r('app.string.executeBatch_success_toast')
                      });
                    }
                    hilog.info(domain, TAG, `DAHelper executeBatch, result: ` + JSON.stringify(data) + ', error: ' + JSON.stringify(error));
                  });
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
       }
     }
    
    import ability from '@ohos.ability.ability';
    import featureAbility from '@ohos.ability.featureAbility';
    import { BusinessError } from '@ohos.base';
    import ohos_data_ability from '@ohos.data.dataAbility';
    import rdb from '@ohos.data.rdb';
    import promptAction from '@ohos.promptAction';
    import hilog from '@ohos.hilog';
    
    const TAG: string = 'PageDataAbility';
    const domain: number = 0xFF00;
    
    @Entry
    @Component
    struct PageDataAbility {
      private predicates = new ohos_data_ability.DataAbilityPredicates();
      private uri = 'dataability:///com.samples.famodelabilitydevelop.DataAbility';
      private DAHelper = featureAbility.acquireDataAbilityHelper(this.uri);
    
      build() {
        Column() {
          // ...
          List({ initialIndex: 0 }) {
            // ...
            ListItemGroup() {
              ListItem() {
                Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
                  // ...
                }
                .onClick(() = > {
                  // promise方式調(diào)用(await需要在async方法中使用):
                  let operations: Array< ability.DataAbilityOperation > = [{
                    uri: this.uri,
                    type: featureAbility.DataAbilityOperationType.TYPE_INSERT,
                    valuesBucket: { name: 'Rose', introduction: 'executeBatch' },
                    predicates: this.predicates,
                    expectedCount: 0,
                    predicatesBackReferences: undefined,
                    interrupted: true,
                  }];
                  this.DAHelper.executeBatch(this.uri, operations).then((dataquery) = > {
                    promptAction.showToast({
                      message: $r('app.string.executeBatch_success_toast')
                    });
                    hilog.info(domain, TAG, 'DAHelper executeBatch result: ' + JSON.stringify(dataquery));
                  }).catch((error: BusinessError) = > {
                    promptAction.showToast({
                      message: $r('app.string.executeBatch_failed_toast')
                    });
                    hilog.error(domain, TAG, `DAHelper executeBatch failed. Cause: ${error.message}`);
                  });
                })
              }
              // ...
            }
            // ...
          }
          // ...
        }
        // ...
      }
    }
    

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 組件
    +關(guān)注

    關(guān)注

    1

    文章

    572

    瀏覽量

    19017
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2963

    瀏覽量

    45883
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    2025開(kāi)源鴻蒙開(kāi)發(fā)者激勵(lì)計(jì)劃正式啟動(dòng)

    11月21日,2025開(kāi)放原子開(kāi)發(fā)者大會(huì)盛大啟幕,聚焦“AI共智,開(kāi)源共享”主題,吸引了來(lái)自全球的開(kāi)發(fā)者、企業(yè)技術(shù)領(lǐng)袖、社區(qū)維護(hù)者及高校科研力量參會(huì)。作為大會(huì)的重要組成部分,開(kāi)源鴻蒙技術(shù)分論壇同期
    的頭像 發(fā)表于 11-27 14:44 ?663次閱讀

    開(kāi)源鴻蒙技術(shù)大會(huì)2025丨開(kāi)源鴻蒙應(yīng)用開(kāi)發(fā)再提速,跨平臺(tái)框架PMC(籌)正式啟動(dòng)孵化

    9月27日,開(kāi)源鴻蒙技術(shù)大會(huì)2025在長(zhǎng)沙國(guó)際會(huì)議中心盛大舉辦。大會(huì)現(xiàn)場(chǎng),開(kāi)源鴻蒙跨平臺(tái)框架PMC(籌)正式啟動(dòng)孵化,標(biāo)志著開(kāi)源鴻蒙在應(yīng)用開(kāi)發(fā)
    的頭像 發(fā)表于 11-10 18:15 ?1402次閱讀
    開(kāi)源<b class='flag-5'>鴻蒙</b>技術(shù)大會(huì)2025丨開(kāi)源<b class='flag-5'>鴻蒙</b>應(yīng)用<b class='flag-5'>開(kāi)發(fā)</b>再提速,跨平臺(tái)框架PMC(籌)正式<b class='flag-5'>啟動(dòng)</b>孵化

    【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù)

    【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)
    的頭像 發(fā)表于 07-11 18:24 ?1085次閱讀

    【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐

    【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 07-11 18:20 ?958次閱讀
    【HarmonyOS 5】金融應(yīng)用<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>鴻蒙</b><b class='flag-5'>組件</b>實(shí)踐

    使用DevEcoStudio 開(kāi)發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件

    的一站式集成開(kāi)發(fā)環(huán)境(IDE),專(zhuān)為鴻蒙操作系統(tǒng)(HarmonyOS Next)應(yīng)用和服務(wù)開(kāi)發(fā)設(shè)計(jì) DevEco Studio,掌握基本操作和開(kāi)發(fā)流程。 ## 2. 安裝與配置 1
    發(fā)表于 06-11 17:18

    FA模型的DataAbility的切換介紹

    開(kāi)發(fā)者需根據(jù)業(yè)務(wù)功能重新實(shí)現(xiàn)。 三方應(yīng)用DataAbility改造為公共模塊 Stage模型三方應(yīng)用不能對(duì)其他三方提供數(shù)據(jù),應(yīng)用需要根據(jù)具體業(yè)務(wù)選擇切換方案。 DataAbility業(yè)務(wù)類(lèi)型切換
    發(fā)表于 06-06 08:10

    開(kāi)源鴻蒙應(yīng)用技術(shù)組件共建計(jì)劃啟動(dòng)

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025,以下簡(jiǎn)稱(chēng)“大會(huì)”)在深圳成功舉辦。開(kāi)源四年多來(lái),開(kāi)源鴻蒙代碼規(guī)模已達(dá) 1.3 億多行,代碼貢獻(xiàn)者達(dá) 8600 多位,超過(guò) 1100 款軟硬件產(chǎn)品
    的頭像 發(fā)表于 06-05 14:33 ?1032次閱讀

    FA模型訪(fǎng)問(wèn)Stage模型DataShareExtensionAbility說(shuō)明

    DataShareHelper的接口。但是這種方法需要開(kāi)發(fā)者修改原客戶(hù)端代碼的URI,做不到無(wú)感知切換。 因此DataAbilityHelper不能僅依賴(lài)URI的前綴決定訪(fǎng)問(wèn)DataAbility還是
    發(fā)表于 06-04 07:53

    潤(rùn)和軟件旗下潤(rùn)開(kāi)鴻亮相開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025)于深圳再啟新篇,會(huì)上正式發(fā)布了開(kāi)源鴻蒙5.1 Release版本,并進(jìn)行開(kāi)源鴻蒙應(yīng)用技術(shù)組件
    的頭像 發(fā)表于 06-03 16:22 ?1630次閱讀

    迅龍軟件應(yīng)邀出席開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025,AI分論壇發(fā)表主旨演講

    5月24日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025)在深圳隆重開(kāi)幕。會(huì)上正式發(fā)布了開(kāi)源鴻蒙5.1Release版本,并進(jìn)行開(kāi)源鴻蒙應(yīng)用技術(shù)
    的頭像 發(fā)表于 05-28 16:05 ?987次閱讀
    迅龍軟件應(yīng)邀出席開(kāi)源<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>者大會(huì)2025,AI分論壇發(fā)表主旨演講

    DataAbility組件概述介紹

    DataAbility組件概述 DataAbility,即\"使用Data模板的Ability\",主要用于對(duì)外部提供統(tǒng)一的數(shù)據(jù)訪(fǎng)問(wèn)抽象,不提供用戶(hù)交互界面
    發(fā)表于 05-28 08:19

    開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025圓滿(mǎn)閉幕,觸覺(jué)智能Purple Pi OH榮獲明星開(kāi)發(fā)

    版本,并進(jìn)行開(kāi)源鴻蒙應(yīng)用技術(shù)組件共建啟動(dòng)、開(kāi)源鴻蒙AIAgent技術(shù)共建啟動(dòng)等重要儀式,同時(shí)設(shè)立八大主題分論壇,邀請(qǐng)業(yè)界專(zhuān)家、
    的頭像 發(fā)表于 05-27 18:56 ?981次閱讀
    開(kāi)源<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>者大會(huì)2025圓滿(mǎn)閉幕,觸覺(jué)智能Purple Pi OH榮獲明星<b class='flag-5'>開(kāi)發(fā)</b>板

    2025開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)圓滿(mǎn)落幕

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025,簡(jiǎn)稱(chēng)“大會(huì)”)在深圳隆重開(kāi)幕。大會(huì)正式發(fā)布了開(kāi)源鴻蒙5.1 Release版本,舉行了開(kāi)源鴻蒙應(yīng)用技術(shù)
    的頭像 發(fā)表于 05-26 17:03 ?1367次閱讀

    “RdbStore”上線(xiàn)開(kāi)源鴻蒙社區(qū) 助力鴻蒙應(yīng)用數(shù)據(jù)訪(fǎng)問(wèn)效率大幅提升

    、品質(zhì)調(diào)優(yōu)、全鏈路運(yùn)維等,能夠有效提升應(yīng)用啟動(dòng)訪(fǎng)問(wèn)速度,助力應(yīng)用高效開(kāi)發(fā)和性能提升。 性能強(qiáng)大:數(shù)據(jù)訪(fǎng)問(wèn)和初始化耗時(shí)大幅優(yōu)化 在應(yīng)用開(kāi)發(fā)過(guò)
    的頭像 發(fā)表于 03-18 15:02 ?686次閱讀

    開(kāi)源啦!!!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來(lái)一起共創(chuàng)

    的地方請(qǐng)大家高抬貴手,寬容一下,謝謝。 這次主要是給大家?guī)?lái)一個(gè)重磅消息,就是我自己使用鴻蒙ArkTS語(yǔ)法開(kāi)發(fā)的圖表組件今日正式開(kāi)源了。為什么?原因有兩點(diǎn)吧! 鴻蒙是國(guó)產(chǎn)的操作系統(tǒng),
    發(fā)表于 03-15 15:21