提交 06709eb6 编写于 作者: L lihuihui

device

Signed-off-by: Nlihuihui <lihuihui29@huawei.com>
上级 6db30d79
...@@ -63,7 +63,6 @@ ...@@ -63,7 +63,6 @@
- 直接调用查询接口。使用该接口,会将包含查询条件的谓词自动拼接成完整的SQL语句进行查询操作,无需用户传入原生的SQL语句。 - 直接调用查询接口。使用该接口,会将包含查询条件的谓词自动拼接成完整的SQL语句进行查询操作,无需用户传入原生的SQL语句。
- 执行原生的SQL语句进行查询操作。 - 执行原生的SQL语句进行查询操作。
- 其中device通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。
**表5** 数据库查询API **表5** 数据库查询API
...@@ -127,15 +126,15 @@ ...@@ -127,15 +126,15 @@
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbStore | setDistributedTables(tables: Array\<string>): Promise\<void> | 设置分布式列表,使用Promise异步回调。<br/>-tables:要设置的分布式列表表名。 | | RdbStore | setDistributedTables(tables: Array\<string>): Promise\<void> | 设置分布式列表,使用Promise异步回调。<br/>-tables:要设置的分布式列表表名。 |
**根据远程设备的本地表名获取指定远程设备的分布式表名** **根据本地表名获取指定远程设备的分布式表名**
用户根据远程设备的本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名。 用户根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名。
**表9** 根据远程设备的本地表名获取指定远程设备的分布式表名 **表9** 根据本地表名获取指定远程设备的分布式表名
| 类名 | 接口名 | 描述 | | 类名 | 接口名 | 描述 |
| -------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| RdbStore | obtainDistributedTableName(device: string, table: string): Promise\<string> | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,使用Promise异步回调。<br/>-device:远程设备。通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。<br/>-table:远程设备的本地表名。 | | RdbStore | obtainDistributedTableName(device: string, table: string): Promise\<string> | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,使用Promise异步回调。<br/>-device:远程设备。<br/>-table:本地表名。 |
**在设备之间同步数据** **在设备之间同步数据**
......
...@@ -414,9 +414,12 @@ let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); ...@@ -414,9 +414,12 @@ let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
inDevices(devices: Array&lt;string&gt;): RdbPredicates inDevices(devices: Array&lt;string&gt;): RdbPredicates
同步分布式数据库时连接到组网内指定的远程设备。 同步分布式数据库时连接到组网内指定的远程设备。
> **说明:**
>
> 其中devices通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core **系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:** **参数:**
...@@ -434,8 +437,24 @@ inDevices(devices: Array&lt;string&gt;): RdbPredicates ...@@ -434,8 +437,24 @@ inDevices(devices: Array&lt;string&gt;): RdbPredicates
**示例:** **示例:**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager';
let dmInstance = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => {
if (err) {
console.log("create device manager failed, err=" + err);
return;
}
dmInstance = manager;
let devices = dmInstance.getTrustedDeviceListSync();
let deviceIds = [];
for (var i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].deviceId;
}
})
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.inDevices(['12345678abcde']); predicates.inDevices(deviceIds);
``` ```
### inAllDevices ### inAllDevices
...@@ -2008,17 +2027,17 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ...@@ -2008,17 +2027,17 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
根据指定条件查询远程设备数据库中的数据。使用callback异步回调。 根据指定条件查询远程设备数据库中的数据。使用callback异步回调。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
> **说明:** > **说明:**
> >
> 其中device通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。 > 其中device通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ----------------------------------------------------------- | | ---------- | -------------------------------------------- | ---- | --------------------------------------------------------- |
| device | string | 是 | 指定的远程设备的networkId。 | | device | string | 是 | 指定的远程设备ID。 |
| table | string | 是 | 指定的目标表名。 | | table | string | 是 | 指定的目标表名。 |
| predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象,指定查询的条件。 | | predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象,指定查询的条件。 |
| columns | Array&lt;string&gt; | 是 | 表示要查询的列。如果值为空,则查询应用于所有列。 | | columns | Array&lt;string&gt; | 是 | 表示要查询的列。如果值为空,则查询应用于所有列。 |
...@@ -2027,9 +2046,22 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ...@@ -2027,9 +2046,22 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
**示例:** **示例:**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager';
let dmInstance = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => {
if (err) {
console.log("create device manager failed, err=" + err);
return;
}
dmInstance = manager;
let devices = dmInstance.getTrustedDeviceListSync();
let deviceId = devices[0].deviceId;
})
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.greaterThan("id", 0); predicates.greaterThan("id", 0);
store.remoteQuery("deviceId", "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], store.remoteQuery(deviceId, "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"],
function(err, resultSet) { function(err, resultSet) {
if (err) { if (err) {
console.error(`Failed to remoteQuery, err: ${err}`); console.error(`Failed to remoteQuery, err: ${err}`);
...@@ -2047,17 +2079,17 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ...@@ -2047,17 +2079,17 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
根据指定条件查询远程设备数据库中的数据。使用Promise异步回调。 根据指定条件查询远程设备数据库中的数据。使用Promise异步回调。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
> **说明:** > **说明:**
> >
> 其中device通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。 > 其中device通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------ | ---- | ------------------------------------------------ | | ---------- | ------------------------------------ | ---- | ------------------------------------------------ |
| device | string | 是 | 指定的远程设备的networkId。 | | device | string | 是 | 指定的远程设备ID。 |
| table | string | 是 | 指定的目标表名。 | | table | string | 是 | 指定的目标表名。 |
| predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象,指定查询的条件。 | | predicates | [RdbPredicates](#rdbpredicates) | 是 | RdbPredicates的实例对象,指定查询的条件。 |
| columns | Array&lt;string&gt; | 是 | 表示要查询的列。如果值为空,则查询应用于所有列。 | | columns | Array&lt;string&gt; | 是 | 表示要查询的列。如果值为空,则查询应用于所有列。 |
...@@ -2071,6 +2103,19 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ...@@ -2071,6 +2103,19 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
**示例:** **示例:**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager';
let dmInstance = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => {
if (err) {
console.log("create device manager failed, err=" + err);
return;
}
dmInstance = manager;
let devices = dmInstance.getTrustedDeviceListSync();
let deviceId = devices[0].deviceId;
})
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.greaterThan("id", 0); predicates.greaterThan("id", 0);
let promise = store.remoteQuery("deviceId", "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.remoteQuery("deviceId", "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
...@@ -2498,26 +2543,39 @@ obtainDistributedTableName(device: string, table: string, callback: AsyncCallbac ...@@ -2498,26 +2543,39 @@ obtainDistributedTableName(device: string, table: string, callback: AsyncCallbac
根据远程设备的本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名, 使用callback异步回调。 根据远程设备的本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名, 使用callback异步回调。
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
> **说明:** > **说明:**
> >
> 其中device通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。 > 其中device通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ------------------------------------------------------------ | | -------- | --------------------------- | ---- | ------------------------------------------------------------ |
| device | string | 是 | 远程设备 | | device | string | 是 | 远程设备ID 。 |
| table | string | 是 | 远程设备的本地表名。 | | table | string | 是 | 远程设备的本地表名。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 指定的callback回调函数。如果操作成功,返回远程设备的分布式表名。 | | callback | AsyncCallback&lt;string&gt; | 是 | 指定的callback回调函数。如果操作成功,返回远程设备的分布式表名。 |
**示例:** **示例:**
```js ```js
store.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err, tableName) { import deviceManager from '@ohos.distributedHardware.deviceManager';
let dmInstance = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => {
if (err) {
console.log("create device manager failed, err=" + err);
return;
}
dmInstance = manager;
let devices = dmInstance.getTrustedDeviceListSync();
let deviceId = devices[0].deviceId;
})
store.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableName) {
if (err) { if (err) {
console.error(`ObtainDistributedTableName failed, err: ${err}`); console.error(`ObtainDistributedTableName failed, err: ${err}`);
return; return;
...@@ -2532,19 +2590,19 @@ store.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err, tab ...@@ -2532,19 +2590,19 @@ store.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err, tab
根据远程设备的本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,使用Promise异步回调。 根据远程设备的本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,使用Promise异步回调。
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
> **说明:** > **说明:**
> >
> 其中device通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。 > 其中device通过调用[deviceManager.getTrustedDeviceListSync](js-apis-device-manager.md#gettrusteddevicelistsync)方法得到。deviceManager模块的接口均为系统接口,仅系统应用可用。
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------- | | ------ | ------ | ---- | -------------------- |
| device | string | 是 | 远程设备 | | device | string | 是 | 远程设备ID。 |
| table | string | 是 | 远程设备的本地表名。 | | table | string | 是 | 远程设备的本地表名。 |
**返回值** **返回值**
...@@ -2556,7 +2614,20 @@ store.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err, tab ...@@ -2556,7 +2614,20 @@ store.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err, tab
**示例:** **示例:**
```js ```js
let promise = store.obtainDistributedTableName("12345678abcde", "EMPLOYEE"); import deviceManager from '@ohos.distributedHardware.deviceManager';
let dmInstance = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => {
if (err) {
console.log("create device manager failed, err=" + err);
return;
}
dmInstance = manager;
let devices = dmInstance.getTrustedDeviceListSync();
let deviceId = devices[0].deviceId;
})
let promise = store.obtainDistributedTableName(deviceId, "EMPLOYEE");
promise.then((tableName) => { promise.then((tableName) => {
console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`); console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`);
}).catch((err) => { }).catch((err) => {
...@@ -2585,8 +2656,24 @@ sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback&lt;Array ...@@ -2585,8 +2656,24 @@ sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback&lt;Array
**示例:** **示例:**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager';
let dmInstance = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => {
if (err) {
console.log("create device manager failed, err=" + err);
return;
}
dmInstance = manager;
let devices = dmInstance.getTrustedDeviceListSync();
let deviceIds = [];
for (var i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].deviceId;
}
})
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.inDevices(['12345678abcde']); predicates.inDevices(deviceIds);
store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, result) { store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, result) {
if (err) { if (err) {
console.error(`Sync failed, err: ${err}`); console.error(`Sync failed, err: ${err}`);
...@@ -2625,8 +2712,24 @@ store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, r ...@@ -2625,8 +2712,24 @@ store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, r
**示例:** **示例:**
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager';
let dmInstance = null;
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => {
if (err) {
console.log("create device manager failed, err=" + err);
return;
}
dmInstance = manager;
let devices = dmInstance.getTrustedDeviceListSync();
let deviceIds = [];
for (var i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].deviceId;
}
})
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.inDevices(['12345678abcde']); predicates.inDevices(deviceIds);
let promise = store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates); let promise = store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates);
promise.then((result) =>{ promise.then((result) =>{
console.info(`Sync done.`); console.info(`Sync done.`);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册