diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md b/zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md new file mode 100644 index 0000000000000000000000000000000000000000..8e8e19235c246f2e351143b6550fb8fcfcd3bda3 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md @@ -0,0 +1,378 @@ +# DataShareExtensionAbility + +**DataShareExtensionAbility** 作为一种扩展能力提供基础生命周期管理,支持基于场景(比如卡片、Workscheduler)的Ability的生命周期管理,提供相应的回调接口(启动、接口调用、连接、断开连接、销毁等) + +>**说明:** +>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## 导入模块 + +```js +import Extension from '@ohos.application.DataShareExtensionAbility' +``` + +## onCreate + +onCreate?(want: Want, callback: AsyncCallback): void; + +DataShareExtAbility生命周期回调,在创建时回调,执行初始化业务逻辑操作 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.DistributedDataManager.DataShare.Core + +**参数:** + +| 参数名 | 参数类型 | 必填 | 说明 | +| ----- | ------ | ------ | ------ | +| want | Want | 是 | Want类型信息,包括ability名称、bundle名称等。 | + +**返回值**: 无 + +**示例:** + +```js +import rdb from '@ohos.data.rdb'; + +onCreate(want) { + console.log('DataShareExtAbility onCreate, want:' + want.abilityName); + console.log('this.context:' + this.context); + rdb.getRdbStore(this.context, {name: DB_NAME}, 1, function (err, data) { + console.log('DataShareExtAbility onCreate, getRdbStore done err:' + JSON.stringify(err)); + console.log('DataShareExtAbility onCreate, getRdbStore done data:' + JSON.stringify(data)); + rdbStore = data; + rdbStore.executeSql(DDL_TBL_CREATE, [], function (err) { + console.log('DataShareExtAbility onCreate, executeSql done err:' + JSON.stringify(err)); + }); + }); +} +``` + +## insert + +insert?(uri: string, valueBucket: ValuesBucket, callback: AsyncCallback): void; + +insert生命周期回调,在数据库插入时回调 + +**参数:** + +| 参数名 | 参数类型 | 必填 | 说明 | +| ----- | ------ | ------ | ------ | +| uri |string | 是 | 指示要插入的数据的路径 | +| valuesBucket |ValuesBucket | 是 | 指示要插入的数据记录 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| number | 返回插入数据记录的索引 | + +**示例:** + +```js +import rdb from '@ohos.data.rdb'; +let TBL_NAME = "TBL00"; + +insert(uri, value, callback) { + if (value == null) { + console.info('invalid valueBuckets'); + return; + } + await rdbStore.insert(TBL_NAME, value, function (err, ret) { + console.info('callback ret:' + ret); + if (callback != undefined) { + callback(err, ret); + } + }); +} +``` + +### update + +update?(uri: string, predicates: DataSharePredicates, valueBucket: ValuesBucket,callback: AsyncCallback): void; + +update生命周期回调,在数据库更新时回调 + +| 参数名 | 参数类型 | 必填 | 说明 | +| ----- | ------ | ------ | ------ | +| uri | string | 是 | 指示要更新的数据的路径 | +| predicates | DataSharePredicates | 是 | 指示要更新的数据 | +| valueBucket | ValuesBucket | 是 | 指示筛选条件 | + +**返回值:** + +| 类型 | 说明 | +| ------ | -------------------- | +| number | 返回更新的数据记录数 | + +**示例:** + +```js +import rdb from '@ohos.data.rdb'; +let TBL_NAME = "TBL00"; + +update(uri, predicates, value, callback) { + if (predicates == null || predicates == undefined) { + return; + } + rdbStore.update(TBL_NAME,value, predicates, function (err, ret) { + if (callback != undefined) { + callback(err, ret); + } + }); +} +``` + +### query + +query?(uri: string, predicates: DataSharePredicates, columns: Array,callback: AsyncCallback): void; + +query生命周期回调,在数据库查询时回调 + +| 名称 | 参数类型 | 必填 | 说明 | +| ----- | ------ | ------ | ------ | +| uri | string | 是 | 指示要查询的数据的路径 | +| predicates | DataSharePredicates | 是 | 指示筛选条件 | +| columns | Array | 是 | 指示要查询的列。如果此参数为空,则查询所有列 | + +**返回值:** + +| 类型 | 说明 | +| --------- | -------------- | +| ResultSet | 返回查询结果集 | + +**示例:** + +```js +import rdb from '@ohos.data.rdb'; +let TBL_NAME = "TBL00"; + +query(uri, predicates, columns, callback) { + if (predicates == null || predicates == undefined) { + return; + } + rdbStore.query(TBL_NAME, predicates, columns, function (err, resultSet) { + if (resultSet != undefined) { + console.info('resultSet.rowCount: ' + resultSet.rowCount); + } + if (callback != undefined) { + callback(err, resultSet); + } + }); +} +``` + +### delete + +delete?(uri: string, predicates: DataSharePredicates, callback: AsyncCallback): void; + +delete生命周期回调,在删除数据库记录时回调 + +| 名称 | 参数类型 | 必填 | 说明 | +| ---------- | ------------------- | ---- | ---------------------- | +| uri | string | 是 | 指示要查询的数据的路径 | +| predicates | DataSharePredicates | 是 | 指示筛选条件 | + +**返回值:** + +| 类型 | 说明 | +| ------ | ---------------------- | +| number | 返回已删除的数据记录数 | + +**示例:** + +```js +import rdb from '@ohos.data.rdb'; +let TBL_NAME = "TBL00"; + +delete(uri, predicates, callback) { + if (predicates == null || predicates == undefined) { + return; + } + rdbStore.delete(TBL_NAME,predicates, function (err, ret) { + if (callback != undefined) { + callback(err, ret); + } + }); +} +``` + +### batchInsert + +batchInsert?(uri: string, valueBuckets: Array, callback: AsyncCallback): void; + +insert生命周期回调,在数据库插入时回调 + +| 名称 | 参数类型 | 必填 | 说明 | +| ------------ | ------------------- | ---- | ---------------------- | +| uri | string | 是 | 指示要插入的数据的路径 | +| valueBuckets | Array | 是 | 指示要插入的数据记录 | + +**返回值:** + +| 类型 | 说明 | +| ------ | -------------------- | +| number | 返回插入的数据记录数 | + +**示例:** + +```js +import rdb from '@ohos.data.rdb'; +let TBL_NAME = "TBL00"; + +batchInsert(uri: string, valueBuckets, callback) { + if (valueBuckets == null || valueBuckets.length == undefined) { + console.info('invalid valueBuckets'); + return; + } + let resultNum = valueBuckets.length + valueBuckets.forEach(vb => { + rdbStore.insert(TBL_NAME, vb, function (err, ret) { + if (callback != undefined) { + callback(err, resultNum); + } + }); + }); +} +``` + +### getType + +getType?(uri: string, callback: AsyncCallback): void; + +getType生命周期回调函数,获取给定URI对应的MIME类型时回调 + +**参数:** + +| 参数名 | 参数类型 | 必填 | 说明 | +| ----- | ------ | ------ | ------ | +| uri | string | 是 | 指示要操作的数据的路径 | + +**返回值:** + +| 类型 | 说明 | +| ------ | ----------------------------------- | +| string | 返回与uri指定的数据匹配的MIME类型。 | + +**示例:** + +```js +getType(uri: string,callback) { + // Specific functions need to be implemented by the user + let ret = "image"; + callback(err,ret); +} +``` + +### getFileTypes + +getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback>): void; + +getFileTypes生命周期回调,获取支持文件的MIME类型时回调 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------------- | ------ | ---- | -------------------------- | +| uri | string | 是 | 指示要获取的文件的路径 | +| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型 | + +**返回值:** + +| 类型 | 说明 | +| -------------------------------------- | ------------------------ | +| Array | 返回匹配的MIME类型数组 | + +**示例:** + +```js +getFileTypes(uri: string, mimeTypeFilter: string,callback) { + // Specific functions need to be implemented by the user + let ret = new Array("type01", "type02", "type03"); + callback(err,ret); +} +``` + +### normalizeUri + +normalizeUri?(uri: string, callback: AsyncCallback): void; + +normalizeUri生命周期回调,给定uri转换为规范化uri时回调 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---- | ------ | ---- | --------------------- | +| uri | string | 是 | 指示要规范化的uri对象 | + +**返回值:** + +| 类型 | 说明 | +| ------ | ---------------------------------------------------- | +| string | 如果数据功能支持uri规范化或null,则返回规范化uri对象 | + +**示例:** + +```js +normalizeUri(uri: string,callback) { + // Specific functions need to be implemented by the user + let ret = "normalize+" + uri; + callback(err,ret); +} +``` + +### denormalizeUri + +denormalizeUri?(uri: string, callback: AsyncCallback): void; + +将由denormalizeUri生命周期回调,给定规范化uri转换为非规范化uri时回调 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---- | ------ | ---- | --------------------- | +| uri | string | 是 | 指示要规范化的uri对象 | + +**返回值:** + +| 类型 | 说明 | +| ------ | --------------------------------------- | +| string | 如果反规范化成功,则返回反规范化uri对象 | + +**示例:** + +```js +denormalizeUri(uri: string,callback) { + // Specific functions need to be implemented by the user + let ret = "denormalize+" + uri; + callback(err,ret); +} +``` + +### openFile + +openFile?(uri: string, mode: string, callback: AsyncCallback): void; + +将由openFile生命周期回调,在打开文件时回调 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---- | ------ | ---- | --------------------- | +| uri | string | 是 | 指示要规范化的uri对象 | +| mode | string | 是 | 指示文件打开模式‘rwt’ | + +**返回值:** + +| 类型 | 说明 | +| ------ | -------------- | +| number | 返回文件描述符 | + +**示例:** + +```js +openFile(uri: string, mode, callback) { + // Specific functions need to be implemented by the user + let fd = 0; + callback(err,fd); +} +``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-DataSharePredicates.md b/zh-cn/application-dev/reference/apis/js-apis-data-DataSharePredicates.md new file mode 100644 index 0000000000000000000000000000000000000000..3a3045b448f2c48fe4816965129be3402f0eb875 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-data-DataSharePredicates.md @@ -0,0 +1,827 @@ +# DataShare谓词 + +**DataShare谓词(DataSharePredicates)** + +>**说明:** +>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## 导入模块 + +```js +import DataSharePredicates from './@ohos.data.DataSharePredicates'; +``` + + +## equalTo + +equalTo(*field*: *string*, *value*: ValueType): DataSharePredicates; + +配置谓词以匹配数据类型为ValueType且值等于指定值的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | --------- | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| value | ValueType | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.equalTo("NAME", "Rose") +``` + +## notEqualTo + +notEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates; + +配置谓词以匹配数据类型为ValueType且值不等于指定值的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | --------- | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| value | ValueType | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.notEqualTo("NAME", "Rose") +``` + +## beginWrap + +beginWrap(): DataSharePredicates; + +向谓词添加左括号。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ---------------------- | +| DataSharePredicates | 返回带有左括号的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.equalTo("NAME", "lisi") + .beginWrap() + .equalTo("AGE", 18) + .or() + .equalTo("SALARY", 200.5) + .endWrap() +``` + +## endWrap + +endWrap(): DataSharePredicates; + +向谓词添加右括号。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ---------------------- | +| DataSharePredicates | 返回带有右括号的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.equalTo("NAME", "lisi") + .beginWrap() + .equalTo("AGE", 18) + .or() + .equalTo("SALARY", 200.5) + .endWrap() +``` + +## or + +or(): DataSharePredicates; + +将或条件添加到谓词中。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ---------------------- | +| DataSharePredicates | 返回带有或条件的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.equalTo("NAME", "lisi") + .or() + .equalTo("NAME", "Rose") +``` + +## and + +and(): DataSharePredicates; + +将和条件添加到谓词中。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ---------------------- | +| DataSharePredicates | 返回带有和条件的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.equalTo("NAME", "lisi") + .and() + .equalTo("SALARY", 200.5) +``` + +## contains + +contains(*field*: *string*, *value*: *string*): DataSharePredicates; + +配置谓词以匹配数据类型为String且value包含指定值的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| value | string | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.contains("NAME", "os") +``` + +## beginsWith + +beginsWith(*field*: *string*, *value*: *string*): DataSharePredicates; + +配置谓词以匹配数据类型为String且值以指定字符串开头的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| value | string | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.beginsWith("NAME", "os") +``` + +## endsWith + +endsWith(*field*: *string*, *value*: *string*): DataSharePredicates; + +配置谓词以匹配数据类型为String且值以指定字符串结尾的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| value | string | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.endsWith("NAME", "os") +``` + +## isNull + +isNull(*field*: *string*): DataSharePredicates; + +配置谓词以匹配值为null的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ------------------ | +| field | string | 是 | 数据库表中的列名。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.isNull("NAME") +``` + +## isNotNull + +isNotNull(*field*: *string*): DataSharePredicates; + +配置谓词以匹配值不为null的指定字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ------------------ | +| field | string | 是 | 数据库表中的列名。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.isNotNull("NAME") +``` + +## like + +like(*field*: *string*, *value*: *string*): DataSharePredicates; + +配置谓词以匹配数据类型为string且值类似于指定字符串的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| value | string | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.like("NAME", "%os%") +``` + +## unlike + +unlike(*field*: *string*, *value*: *string*): DataSharePredicates; + +配置谓词以匹配数据类型为string且值不类似于指定字符串的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| value | string | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.unlike("NAME", "%os%") +``` + +## glob + +glob(*field*: *string*, *value*: *string*): DataSharePredicates; + +配置谓词匹配数据类型为string的指定字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| value | string | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.glob("NAME", "?h*g") +``` + +## between + +between(*field*: *string*, *low*: ValueType, *high*: ValueType): DataSharePredicates; + +将谓词配置为匹配数据类型为ValueType且value在指定范围内的指定字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | --------- | ---- | ------------------------ | +| field | string | 是 | 数据库表中的列名。 | +| low | ValueType | 是 | 指示与谓词匹配的最小值。 | +| high | ValueType | 是 | 指示与谓词匹配的最大值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.between("AGE", 10, 50) +``` + +## notBetween + +notBetween(*field*: *string*, *low*: ValueType, *high*: ValueType): DataSharePredicates; + +配置谓词以匹配数据类型为ValueType且value超出给定范围的指定字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | --------- | ---- | ------------------------ | +| field | string | 是 | 数据库表中的列名。 | +| low | ValueType | 是 | 指示与谓词匹配的最小值。 | +| high | ValueType | 是 | 指示与谓词匹配的最大值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.notBetween("AGE", 10, 50) +``` + +## greaterThan + +greaterThan(*field*: *string*, *value*: ValueType): DataSharePredicates; + +配置谓词以匹配数据类型为ValueType且值大于指定值的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------- | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| *value* | ValueType | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.greaterThan("AGE", 10) +``` + +## lessThan + +lessThan(*field*: *string*, *value*: ValueType): DataSharePredicates; + +配置谓词以匹配数据类型为valueType且value小于指定值的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------- | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| *value* | ValueType | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.lessThan("AGE", 50) +``` + +## greaterThanOrEqualTo + +greaterThanOrEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates; + +配置谓词以匹配数据类型为ValueType且value大于或等于指定值的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------- | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| *value* | ValueType | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.greaterThanOrEqualTo("AGE", 10) +``` + +## lessThanOrEqualTo + +lessThanOrEqualTo(*field*: *string*, *value*: ValueType): DataSharePredicates; + +配置谓词以匹配数据类型为ValueType且value小于或等于指定值的字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------- | ---- | ---------------------- | +| field | string | 是 | 数据库表中的列名。 | +| *value* | ValueType | 是 | 指示要与谓词匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.lessThanOrEqualTo("AGE", 50) +``` + +## orderByAsc + +orderByAsc(*field*: *string*): DataSharePredicates; + +配置谓词以匹配其值按升序排序的列。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ------------------ | +| field | string | 是 | 数据库表中的列名。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.orderByAsc("AGE") +``` + +## orderByDesc + +orderByDesc(*field*: *string*): DataSharePredicates; + +配置谓词以匹配其值按降序排序的列。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ------------------ | +| field | string | 是 | 数据库表中的列名。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.orderByDesc("AGE") +``` + +## distinct + +distinct(): DataSharePredicates; + +配置谓词以过滤重复记录并仅保留其中一个。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.equalTo("NAME", "Rose").distinct("NAME") +``` + +## limit + +limit(*total*: *number*, *offset*: *number*): DataSharePredicates; + +配置谓词以指定结果数和起始位置。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------ | ---- | -------------- | +| total | number | 是 | 指定结果数。 | +| *offset* | number | 是 | 指示起始位置。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.equalTo("NAME", "Rose").limit(10, 3) +``` + +## groupBy + +groupBy(*fields*: Array<*string*>): DataSharePredicates; + +配置谓词按指定列分组查询结果。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | --------------- | ---- | -------------------- | +| fields | Array<*string*> | 是 | 指定分组依赖的列名。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.groupBy(["AGE", "NAME"]) +``` + +## indexedBy + +indexedBy(*field*: *string*): DataSharePredicates; + +配置谓词以指定索引列。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | -------------- | +| field | string | 是 | 索引列的名称。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.indexedBy("SALARY_INDEX") +``` + +## in + +in(*field*: *string*, *value*: Array): DataSharePredicates; + +配置谓词以匹配数据类型为ValueType数组且值在给定范围内的指定字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ---------------- | ---- | --------------------------------------- | +| field | string | 是 | 数据库表中的列名。 | +| *value* | Array | 是 | 以ValueType型数组形式指定的要匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.in("AGE", [18, 20]) +``` + +## notIn + +notIn(*field*: *string*, *value*: Array): DataSharePredicates; + +配置谓词以匹配数据类型为ValueType数组且值不在给定范围内的指定字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ---------------- | ---- | --------------------------------------- | +| field | string | 是 | 数据库表中的列名。 | +| *value* | Array | 是 | 以ValueType型数组形式指定的要匹配的值。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.notIn("NAME", ["Lisa", "Rose"]) +``` + +## prefixKey + +prefixKey(*prefix*: *string*): DataSharePredicates; + +配置谓词以匹配键前缀的指定字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | -------------- | +| prefix | string | 是 | 指定的键前缀。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.prefixKey("NAME") +``` + +## inKeys + +inKeys(*keys*: Array<*string*>): DataSharePredicates; + +配置谓词以匹配键在给定范围内的指定字段。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | --------------- | ---- | ------------------ | +| inKeys | Array<*string*> | 是 | 给定范围的键数组。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | -------------------------- | +| DataSharePredicates | 返回与指定字段匹配的谓词。 | + +**示例:** + +```js +let dataSharePredicates = new DataSharePredicates() +dataSharePredicates.inKeys(["Lisa", "Rose"]) +``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-DataShareResultSet.md b/zh-cn/application-dev/reference/apis/js-apis-data-DataShareResultSet.md new file mode 100644 index 0000000000000000000000000000000000000000..9dca331968d8eed31304e73d4729b2a52bb1d34d --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-data-DataShareResultSet.md @@ -0,0 +1,405 @@ +# DataShare结果集 + +**DataShare结果集(DataShareResultSet)** + +提供通过查询数据库生成的数据库结果集的访问方法。 + +>**说明:** +>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## 导入模块 + +```js +import DataShareResultSet from './@ohos.data.DataShareResultSet'; +``` + +## 使用说明 + +需要通过dataShare.query()获取DataShareResultSet对象。 + +```js +import dataShare from '@ohos.data.dataShare'; +import DataSharePredicates from './@ohos.data.DataSharePredicates'; + +query() +``` + +## 属性 + +| 名称 | 参数类型 | 必填 | 说明 | +| ----------- | --------------- | ---- | -------------------------- | +| columnNames | Array<*string*> | 是 | 获取结果集中所有列的名称。 | +| columnCount | *number* | 是 | 获取结果集中的列数。 | +| rowCount | *number* | 是 | 获取结果集中的行数。 | +| isClosed | *boolean* | 是 | 检查当前结果集是否关闭。 | + +## goToFirstRow + +goToFirstRow(): *boolean*; + +转到结果集的第一行。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**返回值:** + +| 类型 | 说明 | +| :-------- | --------------------------------------------- | +| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | + +**示例:** + +```js +let isGoTOFirstRow = resultSet.goToFirstRow(); +console.info('resultSet.goToFirstRow: ' + isGoTOFirstRow); +``` + +## goToLastRow + +goToLastRow(): *boolean*; + +转到结果集的最后一行。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | + +**示例:** + +```js +let isGoToLastRow = resultSet.goToLastRow(); +console.info('resultSet.goToLastRow: ' + isGoToLastRow); +``` + +## goToNextRow + +goToNextRow(): *boolean*; + +转到结果集的下一行。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**返回值:** + +| 类型 | 说明 | +| --------- | --------------------------------------------- | +| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | + +**示例:** + +```js +let isGoToNextRow = resultSet.goToNextRow(); +console.info('resultSet.goToNextRow: ' + isGoToNextRow); +``` + +## goToPreviousRow + +goToPreviousRow(): boolean; + +转到结果集的上一行。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**返回值:** + +| 类型 | 说明 | +| --------- | --------------------------------------------- | +| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | + +**示例:** + +```js +let isGoToPreviousRow = resultSet.goToPreviousRow(); +console.info('resultSet.goToPreviousRow: ' + isGoToPreviousRow); +``` + +## goTo + +goTo(offset:number): boolean; + +向前或向后转至结果集的指定行,相对于其当前位置偏移。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| **参数名** | **类型** | **必填** | 说明 | +| ---------- | -------- | -------- | ---------------------------- | +| *offset* | number | 是 | 表示相对于当前位置的偏移量。 | + +**返回值:** + +| 类型 | 说明 | +| --------- | --------------------------------------------- | +| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | + +**示例:** + +```js +let goToNum = 1; +let isGoTo = resultSet.goTo(goToNum); +console.info('resultSet.goTo: ' + isGoTo); +``` + +## goToRow + +goToRow(position: number): boolean; + +转到结果集的指定行。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| **参数名** | **类型** | **必填** | 说明 | +| ---------- | -------- | -------- | ------------------------ | +| *position* | number | 是 | 表示要移动到的指定位置。 | + +**返回值:** + +| 类型 | 说明 | +| --------- | --------------------------------------------- | +| *boolean* | 如果成功移动结果集,则为true;否则返回false。 | + +**示例:** + +```js +let goToRowNum = 2 +let isGoToRow = resultSet.goToRow(goToRowNum); +console.info('resultSet.goToRow: ' + isGoToRow); +``` + +## getBlob + +getBlob(*columnIndex*: *number*): Uint8Array; + +以字节数组的形式获取当前行中指定列的值。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| **参数名** | **类型** | **必填** | 说明 | +| ------------- | -------- | -------- | ----------------------- | +| *columnIndex* | number | 是 | 指定的列索引,从0开始。 | + +**返回值:** + +| 类型 | 说明 | +| ------------ | -------------------------------- | +| *Uint8Array* | 以字节数组的形式返回指定列的值。 | + +**示例:** + +```js +let columnIndex = 1 +let goToFirstRow = resultSet.goToFirstRow(); +let getBlob = resultSet.getBlob(columnIndex); +console.info('resultSet.getBlob: ' + getBlob); +``` + +## getString + +getString(*columnIndex*: *number*): *string*; + +以字符串形式获取当前行中指定列的值。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| **参数名** | **类型** | **必填** | 说明 | +| ------------- | -------- | -------- | ----------------------- | +| *columnIndex* | number | 是 | 指定的列索引,从0开始。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | ---------------------------- | +| *string* | 以字符串形式返回指定列的值。 | + +**示例:** + +```js +let columnIndex = 1 +let goToFirstRow = resultSet.goToFirstRow(); +let getString = resultSet.getString(columnIndex); +console.info('resultSet.getString: ' + getString); +``` + +## getLong + +getLong(*columnIndex*: *number*): *number*; + +以Long形式获取当前行中指定列的值。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| **参数名** | **类型** | **必填** | 说明 | +| ------------- | -------- | -------- | ----------------------- | +| *columnIndex* | number | 是 | 指定的列索引,从0开始。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------------------------- | +| *number* | 以Long形式返回指定列的值。 | + +**示例:** + +```js +let columnIndex = 1 +let goToFirstRow = resultSet.goToFirstRow(); +let getLong = resultSet.getLong(columnIndex); +console.info('resultSet.getLong: ' + getLong); +``` + +## getDouble + +getDouble(*columnIndex*: *number*): *number*; + +以double形式获取当前行中指定列的值。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| **参数名** | **类型** | **必填** | 说明 | +| ------------- | -------- | -------- | ----------------------- | +| *columnIndex* | number | 是 | 指定的列索引,从0开始。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | ---------------------------- | +| *number* | 以double形式返回指定列的值。 | + +**示例:** + +```js +let columnIndex = 1 +let goToFirstRow = resultSet.goToFirstRow(); +let getDouble = resultSet.getDouble(columnIndex); +console.info('resultSet.getDouble: ' + getDouble); +``` + +## close + +close(): *void*; + +关闭结果集。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**示例:** + +```js +resultSet.close(); +``` + +## getColumnIndex + +getColumnIndex(*columnName*: *string*): *number*; + +根据指定的列名获取列索引。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| **参数名** | **类型** | **必填** | 说明 | +| ------------ | -------- | -------- | -------------------------- | +| *columnName* | string | 是 | 表示结果集中指定列的名称。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | ------------------ | +| *number* | 返回指定列的索引。 | + +**示例:** + +```js +let ColumnName = "name" +let getColumnIndex = resultSet.getColumnIndex(ColumnName) +console.info('resultSet.getColumnIndex: ' + getColumnIndex); +``` + +## getColumnName + +getColumnName(*columnIndex*: *number*): *string*; + +根据指定的列索引获取列名。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| **参数名** | **类型** | **必填** | 说明 | +| ------------- | -------- | -------- | -------------------------- | +| *columnIndex* | number | 是 | 表示结果集中指定列的索引。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | ------------------ | +| *string* | 返回指定列的名称。 | + +**示例:** + +```js +let columnIndex = 1 +let getColumnName = resultSet.getColumnName(columnIndex) +console.info('resultSet.getColumnName: ' + getColumnName); +``` + +## getDataType + +getDataType(*columnIndex*: *number*): DataType; + +获取指定列的数据类型。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +**参数:** + +| **参数名** | **类型** | **必填** | 说明 | +| ------------- | -------- | -------- | -------------------------- | +| *columnIndex* | number | 是 | 表示结果集中指定列的索引。 | + +**返回值:** + +| 类型 | 说明 | +| ---------- | ------------------ | +| *DataType* | 返回指定列的类型。 | + +**示例:** + +```js +let columnIndex = 1; +let getDataType = resultSet.getDataType(columnIndex); +console.info('resultSet.getDataType: ' + getDataType); +``` + +## DataType + +用于表示数据类型。 + +只能被内部应用使用。 + +**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 + +| 名称 | 默认值 | 说明 | +| ----------- | ------ | -------------------- | +| TYPE_NULL | 0 | 表示值类型为空。 | +| TYPE_LONG | 1 | 表示值类型为Long。 | +| TYPE_DOUBLE | 2 | 表示值类型为Double。 | +| TYPE_STRING | 3 | 表示值类型为String。 | +| TYPE_BLOB | 4 | 表示值类型为Blob。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-ValuesBucket.md b/zh-cn/application-dev/reference/apis/js-apis-data-ValuesBucket.md new file mode 100644 index 0000000000000000000000000000000000000000..7f09c9fac89881ab31591219e5f1aa4b765f19a5 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-data-ValuesBucket.md @@ -0,0 +1,32 @@ +# ValuesBucket + +**数据集(ValuesBucket)** + +>**说明:** +>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## 导入模块 + +```js +import { ValueType } from './@ohos.data.ValuesBucket'; +import { ValuesBucket } from './@ohos.data.ValuesBucket'; +``` + +## ValueType + +用于表示允许的数据字段类型。 + +| 名称 | 说明 | +| --------- | -------------------- | +| *number* | 表示值类型为数字。 | +| *string* | 表示值类型为字符串。 | +| *boolean* | 表示值类型为布尔值。 | + +## ValuesBucket + +用于存储键值对。 + +| 名称 | 参数类型 | 必填 | 说明 | +| ------------- | ------------------------------- | ---- | ---------------- | +| [key: string] | ValueType \| Uint8Array \| null | 是 | 用于存储键值对。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md b/zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md new file mode 100644 index 0000000000000000000000000000000000000000..e4fb9d9c7ca613fa7bd4be959c740b9e207a6e1f --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-data-dataShare.md @@ -0,0 +1,812 @@ +# 数据共享 + +**数据共享(Data Share)** 是应用管理自身和其他应用存储数据的访问,提供与其他应用共享数据的方法,既支持同个设备上应用之间的数据共享,也支持跨设备上应用之间的数据共享。 + +>**说明:** +>本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## 导入模块 + +```js +import Ability from '@ohos.application.Ability' +import dataShare from '@ohos.data.dataShare' +``` + + +## dataShare.createDataShareHelper + +createDataShareHelper(context: Context, uri: string, callback: AsyncCallback<DataShareHelper>): void; +createDataShareHelper(context: Context, uri: string): Promise<DataShareHelper>; + +创建DataShare工具类,返回helper对象,用于连接服务端,并通过callback方式返回,此方法为异步方法。 + +**系统能力:** 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.DataShare.Consumer。 + +**参数:** + +| 参数名 | 参数类型 | 必填 | 说明 | +| -------- | -------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用的上下文环境。 | +| uri | string | 是 | 指示要打开的文件的路径。 | +| callback | AsyncCallback<[DataShareHelper](#DataShareHelper)> | 是 | DataShareHelper实例创建时调用的回调,返回KVManager对象实例。 | + +**示例:** + +```js +let context = this.context; +let dseUri = ("datashare:///com.samples.datasharetest.DataShare"); +await dataShare.createDataShareHelper(this.context, dseUri, (err,data)=>{ + if(err.code != 0) { + console.info("createDataShareHelper fail, err = " + err); + }erse { + let dataShareHelper = data; + } +}); +``` + +## DataShareHelper + +### openFile + +openFile(uri: string, mode: string, callback: AsyncCallback): void + +在指定的远程路径中打开文件(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | --------------------- | ---- | ---------------------------------- | +| uri | string | 是 | 指示要打开的文件的路径。 | +| mode | string | 是 | 指示文件打开模式‘rwt’。 | +| callback | AsyncCallback | 是 | 被指定的回调方法,返回文件描述符。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.openFile(uri, "rwt", (err,data) => { + if(err.code != 0) { + console.info("createDataShareHelper fail, err = " + err); + }erse { + let fd = data; + } +}); +``` + +### openFile + +openFile(uri: string, mode: string): Promise + +在指定的远程路径中打开文件(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---- | ------ | ---- | ----------------------- | +| uri | string | 是 | 指示要打开的文件的路径 | +| mode | string | 是 | 指示文件打开模式‘rwt’。 | + +**返回值:** + +| 类型 | 说明 | +| --------------- | ---------------- | +| Promise | 返回文件描述符。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.openFile(uri, "rwt").then((data)=>{ + let fd = data; +}).catch((err) => { + console.info("createDataShareHelper fail, err = " + err); +}) +``` + +### on('dataChange') + +on(type: 'dataChange', uri: string, callback: AsyncCallback\): void + +注册观察者以观察给定uri指定的数据callback通知。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | -------------------- | ---- | ------------------------ | +| type | string | 是 | 数据更改。 | +| uri | string | 是 | 指示要操作的数据的路径。 | +| callback | AsyncCallback\ | 是 | 指示数据更改时的回调。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.on("dataChange", uri, onCallback); + +export function onCallback() { + console.info("**** Observer on callback ****"); +} +``` + +### off('dataChange') + +off(type: 'dataChange', uri: string, callback?: AsyncCallback\): void + +注消观察者以停止观察给定uri指定的数据callback通知。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | -------------------- | ---- | ------------------------ | +| type | string | 是 | 数据更改。 | +| uri | string | 是 | 指示要操作的数据的路径。 | +| callback | AsyncCallback\ | 否 | 指示已注册的回调。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.off("dataChange", uri, offCallback); + +export function offCallback() { + console.info("**** Observer off callback ****"); +} +``` + +### getType + +getType(uri: string, callback: AsyncCallback\): void + +获取给定URI指定数据的MIME类型(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | --------------------------------------------- | +| uri | string | 是 | 指示要操作的数据的路径。 | +| callback | AsyncCallback\ | 是 | 回调方法,返回与uri指定的数据匹配的MIME类型。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare' +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.getType(uri,(err,data)=>{ + if(err.code != 0){ + console.log("getType err, err:" + JSON.stringify(err)); + }else{ + console.log("getType end, data:" + JSON.stringify(data)); + let result = data; + } +}); +``` + +### getType + +getType(uri: string): Promise\ + +获取给定URI指定数据的MIME类型(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---- | ------ | ---- | ------------------------ | +| uri | string | 是 | 指示要操作的数据的路径。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------- | ----------------------------------- | +| Promise\ | 返回与uri指定的数据匹配的MIME类型。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare' +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.getType(uri).then((data) => { + console.log("getType end, data:" + data); +}).catch((err) => { + console.log("getType end, err:" + err); +}); +``` + +### getFileTypes + +getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback>): void + +获取支持的文件的MIME类型(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------------- | ------------------------------ | ---- | ---------------------------------- | +| uri | string | 是 | 指示要获取的文件的路径。 | +| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 | +| callback | AsyncCallback\> | 是 | 回调方法,返回匹配的MIME类型数组。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +let mimeTypeFilter = "image/*"; +dataShareHelper.getFileTypes(uri, mimeTypeFilter, (err,data) => { + if(err.code != 0){ + console.log("dataShareHelper end, err:" + err); + }else{ + console.log("dataShareHelper end, data:" + data); + } +}); +``` + + + +### getFileTypes + +getFileTypes(uri: string, mimeTypeFilter: string): Promise\> + +获取支持的文件的MIME类型(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------------- | ------ | ---- | ---------------------------- | +| uri | string | 是 | 指示要获取的文件的路径。 | +| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------ | ------------------------ | +| Promise\> | 返回匹配的MIME类型数组。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +let mimeTypeFilter = "image/*"; +dataShareHelper.getFileTypes(uri, mimeTypeFilter).then((data) => { + console.log("dataShareHelper end, data:" + data); +}).catch((err) => { + console.log("dataShareHelper end, err:" + err); +}); +``` + +### normalizeUri + +normalizeUri(uri: string, callback: AsyncCallback\): void + +将引用数据功能的给定uri转换为规范化uri(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------------------------------------------ | +| uri | string | 是 | 指示要规范化的uri对象。 | +| callback | AsyncCallback\ | 是 | 回调方法。如果数据功能支持uri规范化或null,则返回规范化uri对象。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.normalizeUri(uri,(err,data) => { + if(err.code != 0){ + console.log("normalizeUri end, err:" + err); + }else{ + console.log("normalizeUri = " + data); + } +}); +``` + +### normalizeUri + +normalizeUri(uri: string): Promise\ + +将引用数据功能的给定uri转换为规范化uri(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---- | ------ | ---- | ----------------------- | +| uri | string | 是 | 指示要规范化的uri对象。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------- | ------------------------------------------------------ | +| Promise\ | 如果数据功能支持uri规范化或null,则返回规范化uri对象。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.normalizeUri(uri).then((data) => { + console.log("normalizeUri = " + data); +}).catch((err) => { + console.log("normalizeUri end, err:" + err); +}); +``` + +### denormalizeUri + +denormalizeUri(uri: string, callback: AsyncCallback\): void + +将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | --------------------------------------------------- | +| uri | string | 是 | 指示要规范化的uri对象。 | +| callback | AsyncCallback\ | 是 | 回调方法。如果反规范化成功,则返回反规范化uri对象。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.denormalizeUri(uri,(err,data) => { + if(err.code != 0){ + console.log("denormalizeUri end, err:" + err); + }else{ + console.log("denormalizeUri = " + data); + } +}); +``` + +### denormalizeUri + +denormalizeUri(uri: string): Promise\ + +将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---- | ------ | ---- | ----------------------- | +| uri | string | 是 | 指示要规范化的uri对象。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------- | ----------------------------------------- | +| Promise\ | 如果反规范化成功,则返回反规范化uri对象。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.denormalizeUri(uri).then((data) => { + console.log("denormalizeUri = " + data); +}).catch((err) => { + console.log("denormalizeUri end, err:" + err); +}); +``` + +### notifyChange + +notifyChange(uri: string, callback: AsyncCallback\): void + +通知已注册的观察者uri指定的数据资源的更改(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | -------------------- | ---- | ------------------------ | +| uri | string | 是 | 指示要操作的数据的路径。 | +| callback | AsyncCallback\ | 是 | 回调方法。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +dataShareHelper.notifyChange(uri,() => { + console.log("notifyChange!!!!!!!"); +}); +``` + +### notifyChange + +notifyChange(uri: string): Promise\ + +通知已注册的观察者uri指定的数据资源的更改(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---- | ------ | ---- | ------------------------ | +| uri | string | 是 | 指示要操作的数据的路径。 | + +**返回值:** + +| 类型 | 说明 | +| -------------- | --------------------- | +| Promise\ | 返回值为Promise对象。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; +await dataShareHelper.notifyChange(uri); +``` + +### insert + +insert(uri: string, value: ValuesBucket, callback: AsyncCallback\): void + +将单个数据记录插入数据库(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------------------------------------ | +| uri | string | 是 | 指示要插入的数据的路径。 | +| value | ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | +| callback | AsyncCallback\ | 是 | 回调方法,返回插入数据记录的索引。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +const valueBucket = { + "name": "rose", + "age": 22, + "salary": 200.5, + "blobType": u8, +} +dataShareHelper.insert( + uri, + valueBucket, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +### insert + +insert(uri: string, value: ValuesBucket): Promise\ + +将单个数据记录插入数据库(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----- | ------------ | ---- | ------------------------------------------------------ | +| uri | string | 是 | 指示要插入的数据的路径。 | +| value | ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------- | ------------------------ | +| Promise\ | 返回插入数据记录的索引。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +const valueBucket = { + "name": "rose1", + "age": 221, + "salary": 20.5, + "blobType": u8, +} +dataShareHelper.insert( + uri, + valueBucket + ).then((data) => { + console.info("==========================>insertCallback=======================>"); +}).catch((err) => { + console.log("insert end, err:" + err); +}); +``` + +### batchInsert + +batchInsert(uri: string, values: Array\, callback: AsyncCallback\): void + +插入数据库(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | -------------------------------- | +| uri | string | 是 | 指示要插入的数据的路径。 | +| values | Array\ | 是 | 指示要插入的数据记录。 | +| callback | AsyncCallback\ | 是 | 回调方法。返回插入的数据记录数。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +let cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,}, + {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,}, + {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,}) +dataShareHelper.batchInsert( + uri, + cars, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +### batchInsert + +batchInsert(uri: string, values: Array\): Promise\ + +将多个数据记录插入数据库(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ------ | -------------------- | ---- | ------------------------ | +| uri | string | 是 | 指示要插入的数据的路径。 | +| values | Array\ | 是 | 指示要插入的数据记录。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------- | ---------------------- | +| Promise\ | 返回插入的数据记录数。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +let cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,}, + {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,}, + {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,}) +dataShareHelper.batchInsert( + uri, + cars + ).then((data) => { + console.info("==========================>batchInsertCallback=======================>"); +}).catch((err) => { + console.log("batchInsert end, err:" + err); +}); +``` + +### delete + +delete(uri: string, predicates: DataSharePredicates, callback: AsyncCallback\): void + +从数据库中删除一个或多个数据记录(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | ---------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指示要删除的数据的路径。 | +| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | +| callback | AsyncCallback\ | 是 | 回调方法。返回已删除的数据记录数。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +let da = new dataShare.DataSharePredicates(); +da.equalTo("name", "ZhangSan"); +dataShareHelper.delete( + uri, + da, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +### delete + +delete(uri: string, predicates: DataSharePredicates): Promise\ + +从数据库中删除一个或多个数据记录(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | ------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指示要删除的数据的路径。 | +| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------- | ------------------------ | +| Promise\ | 返回已删除的数据记录数。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +let da = new dataShare.DataSharePredicates(); +da.equalTo("name", "ZhangSan"); +dataShareHelper.delete( + uri, + da + ).then((data) => { + console.info("==========================>deleteCallback=======================>"); +}).catch((err) => { + console.log("delete end, err:" + err); +}); +``` + +### update + +update(uri: string, predicates: DataSharePredicates, value: ValuesBucket, callback: AsyncCallback): void + +更新数据库中的数据记录(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | ---------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指示要更新的数据的路径。 | +| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | +| value | ValuesBucket | 是 | 指示要更新的数据。 | +| callback | AsyncCallback\ | 是 | 回调方法,返回更新的数据记录数。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +let da = new dataShare.DataSharePredicates(); +da.equalTo("name", "ZhangSan"); +const va = { + "name": "roe1", + "age": 21, + "salary": 20.5, + "blobType": u8, +} +dataShareHelper.update( + uri, + da, + va, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +### update + +update(uri: string, predicates: DataSharePredicates, value: ValuesBucket): Promise + +更新数据库中的数据记录(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | ------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指示要更新的数据的路径。 | +| predicates | DataSharePredicates | 是 | 指示要更新的数据。 | +| value | ValuesBucket | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------- | -------------------------------------------- | +| Promise\ | 返回值为Promise对象,Promise中包含应用信息。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +let da = new dataShare.DataSharePredicates(); +da.equalTo("name", "ZhangSan"); +const va = { + "name": "roe1", + "age": 21, + "salary": 20.5, + "blobType": u8, +} +dataShareHelper.update( + uri, + da, + va, + ).then((data) => { + console.info("==========================>updateCallback=======================>"); +}).catch((err) => { + console.log("update end, err:" + err); +}); +``` + +### query + +query(uri: string, predicates: DataSharePredicates, columns: Array, callback: AsyncCallback): void + +查询数据库中的数据(callback形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | ---------------------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指示要查询的数据的路径。 | +| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | +| columns | Array | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | +| callback | AsyncCallback\ | 是 | 回调方法,返回查询结果。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +let columns = ["*"]; +let da = new dataShare.DataSharePredicates(); +da.equalTo("name", "ZhangSan"); +dataShareHelper.query( + uri, + da, + columns, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + + + +### query + +query(uri: string, predicates: DataSharePredicates, columns: Array): Promise + +查询数据库中的数据(Promise形式)。 + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | ------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指示要查询的数据的路径。 | +| predicates | DataSharePredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | +| columns | Array | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------- | -------------- | +| Promise\ | 返回查询结果。 | + +**示例:** + +```js +import dataShare from '@ohos.data.dataShare'; +let uri = "datashare:///com.samples.datasharetest.DataShare"; + +let columns = ["*"]; +let da = new dataShare.DataSharePredicates(); +da.equalTo("name", "ZhangSan"); +dataShareHelper.query( + uri, + da, + columns, + ).then((data) => { + console.info("==========================>queryCallback=======================>"); +}).catch((err) => { + console.log("query end, err:" + err); +}); +```