未验证 提交 6bfd3ff4 编写于 作者: O openharmony_ci 提交者: Gitee

!23106 monthly0815分支:同步22990和23009

Merge pull request !23106 from 葛亚芳/monthly_20230815
...@@ -58,11 +58,13 @@ ...@@ -58,11 +58,13 @@
```js ```js
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base';
import window from '@ohos.window';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
dataPreferences.getPreferences(this.context, 'mystore', (err, preferences) => { dataPreferences.getPreferences(this.context, 'myStore', (err: BusinessError, preferences: dataPreferences.Preferences) => {
if (err) { if (err) {
console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`); console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`);
return; return;
...@@ -82,12 +84,13 @@ ...@@ -82,12 +84,13 @@
```js ```js
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base';
// 获取context // 获取context
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
dataPreferences.getPreferences(context, 'mystore', (err, preferences) => { dataPreferences.getPreferences(this.context, 'myStore', (err: BusinessError, preferences: dataPreferences.Preferences) => {
if (err) { if (err) {
console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`); console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`);
return; return;
...@@ -157,7 +160,7 @@ ...@@ -157,7 +160,7 @@
```js ```js
try { try {
preferences.flush((err) => { preferences.flush((err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to flush. Code:${err.code}, message:${err.message}`); console.error(`Failed to flush. Code:${err.code}, message:${err.message}`);
return; return;
...@@ -174,18 +177,20 @@ ...@@ -174,18 +177,20 @@
应用订阅数据变更需要指定observer作为回调方法。订阅的Key值发生变更后,当执行flush()方法时,observer被触发回调。示例代码如下所示: 应用订阅数据变更需要指定observer作为回调方法。订阅的Key值发生变更后,当执行flush()方法时,observer被触发回调。示例代码如下所示:
```js ```js
let observer = function (key) { interface observer {
console.info('The key' + key + 'changed.'); key: string
} }
preferences.on('change', observer); preferences.on('change', (key: observer) => {
console.info('The key' + key + 'changed.');
});
// 数据产生变更,由'auto'变为'manual' // 数据产生变更,由'auto'变为'manual'
preferences.put('startup', 'manual', (err) => { preferences.put('startup', 'manual', (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to put the value of 'startup'. Code:${err.code},message:${err.message}`); console.error(`Failed to put the value of 'startup'. Code:${err.code},message:${err.message}`);
return; return;
} }
console.info("Succeeded in putting the value of 'startup'."); console.info("Succeeded in putting the value of 'startup'.");
preferences.flush((err) => { preferences.flush((err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to flush. Code:${err.code}, message:${err.message}`); console.error(`Failed to flush. Code:${err.code}, message:${err.message}`);
return; return;
...@@ -210,7 +215,7 @@ ...@@ -210,7 +215,7 @@
```js ```js
try { try {
dataPreferences.deletePreferences(this.context, 'mystore', (err, val) => { dataPreferences.deletePreferences(this.context, 'myStore', (err: BusinessError) => {
if (err) { if (err) {
console.error(`Failed to delete preferences. Code:${err.code}, message:${err.message}`); console.error(`Failed to delete preferences. Code:${err.code}, message:${err.message}`);
return; return;
......
...@@ -151,17 +151,26 @@ ...@@ -151,17 +151,26 @@
// 导入模块 // 导入模块
import distributedDataObject from '@ohos.data.distributedDataObject'; import distributedDataObject from '@ohos.data.distributedDataObject';
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base';
import window from '@ohos.window';
interface sourceObject{
name: string,
age: number,
isVis: boolean
parent: { [key: string]: string },
list: { [key: string]: string }[]
}
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object let source: sourceObject = {
let localObject = distributedDataObject.create(this.context, {
name: 'jack', name: 'jack',
age: 18, age: 18,
isVis: false, isVis: false,
parent: { mother: 'jack mom', father: 'jack Dad' }, parent: { mother: 'jack mom', father: 'jack Dad' },
list: [{ mother: 'jack mom' }, { father: 'jack Dad' }] list: [{ mother: 'jack mom' }, { father: 'jack Dad' }]
}); }
let localObject: distributedDataObject.DataObject = distributedDataObject.create(this.context, source);
} }
} }
``` ```
...@@ -175,34 +184,43 @@ ...@@ -175,34 +184,43 @@
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
// 获取context // 获取context
let context = featureAbility.getContext(); let context = featureAbility.getContext();
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object interface sourceObject{
let localObject = distributedDataObject.create(context, { name: string,
age: number,
isVis: boolean
parent: { [key: string]: string },
list: { [key: string]: string }[]
}
let source: sourceObject = {
name: 'jack', name: 'jack',
age: 18, age: 18,
isVis: false, isVis: false,
parent: { mother: 'jack mom', father: 'jack Dad' }, parent: { mother: 'jack mom', father: 'jack Dad' },
list: [{ mother: 'jack mom' }, { father: 'jack Dad' }] list: [{ mother: 'jack mom' }, { father: 'jack Dad' }]
}); }
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object
let localObject: distributedDataObject.DataObject = distributedDataObject.create(context, source);
``` ```
4. 加入同步组网。同步组网中的数据对象分为发起方和被拉起方。 4. 加入同步组网。同步组网中的数据对象分为发起方和被拉起方。
```js ```js
// 设备1加入sessionId // 设备1加入sessionId
let sessionId = '123456'; let sessionId: string = '123456';
localObject.setSessionId(sessionId); localObject.setSessionId(sessionId);
// 和设备1协同的设备2加入同一个session // 和设备1协同的设备2加入同一个session
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object // 创建对象,该对象包含4个属性类型:string、number、boolean和Object
let remoteObject = distributedDataObject.create(this.context, { let remoteSource: sourceObject = {
name: undefined, name: undefined,
age: undefined, // undefined表示数据来自对端 age: undefined, // undefined表示数据来自对端
isVis: true, isVis: true,
parent: undefined, parent: undefined,
list: undefined list: undefined
}); }
let remoteObject: distributedDataObject.DataObject = distributedDataObject.create(this.context, remoteSource);
// 收到status上线后remoteObject同步数据,即name变成jack,age是18 // 收到status上线后remoteObject同步数据,即name变成jack,age是18
remoteObject.setSessionId(sessionId); remoteObject.setSessionId(sessionId);
``` ```
...@@ -210,18 +228,19 @@ ...@@ -210,18 +228,19 @@
5. 监听对象数据变更。可监听对端数据的变更,以callback作为变更回调实例。 5. 监听对象数据变更。可监听对端数据的变更,以callback作为变更回调实例。
```js ```js
function changeCallback(sessionId, changeData) { interface ChangeCallback {
console.info(`change: ${sessionId}`); sessionId: string,
fields: Array<string>
}
if (changeData !== null && changeData !== undefined) { localObject.on("change", (changeData:ChangeCallback) => {
changeData.forEach(element => { console.info("change" + changeData.sessionId);
console.info(`The element ${localObject[element]} changed.`); if (changeData.fields != null && changeData.fields != undefined) {
}); for (let index: number = 0; index < changeData.fields.length; index++) {
console.info(`The element ${localObject[changeData.fields[index]]} changed.`);
} }
} }
});
// 发起方要在changeCallback里刷新界面,则需要将正确的this绑定给changeCallback
localObject.on("change", this.changeCallback.bind(this));
``` ```
6. 修改对象属性,对象属性支持基本类型(数字类型、布尔类型、字符串类型)以及复杂类型(数组、基本类型嵌套等)。 6. 修改对象属性,对象属性支持基本类型(数字类型、布尔类型、字符串类型)以及复杂类型(数组、基本类型嵌套等)。
...@@ -256,7 +275,14 @@ ...@@ -256,7 +275,14 @@
```js ```js
// 删除变更回调changeCallback // 删除变更回调changeCallback
localObject.off('change', this.changeCallback); localObject.off('change',(changeData: ChangeCallback) => {
console.info("change" + changeData.sessionId);
if (changeData.fields != null && changeData.fields != undefined) {
for (let index: number = 0; index < changeData.fields.length; index++) {
console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]);
}
}
});
// 删除所有的变更回调 // 删除所有的变更回调
localObject.off('change'); localObject.off('change');
``` ```
...@@ -264,27 +290,32 @@ ...@@ -264,27 +290,32 @@
9. 监听分布式数据对象的上下线。可以监听对端分布式数据对象的上下线。 9. 监听分布式数据对象的上下线。可以监听对端分布式数据对象的上下线。
```js ```js
function statusCallback(sessionId, networkId, status) { interface onStatusCallback {
// 业务处理 sessionId: string,
networkId: string,
status: 'online' | 'offline'
} }
localObject.on('status', this.statusCallback); localObject.on('status', (statusCallback: onStatusCallback) => {
console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.networkId);
// 业务处理
});
``` ```
10. 保存和撤回已保存的数据对象。 10. 保存和撤回已保存的数据对象。
```js ```js
// 保存数据对象,如果应用退出后组网内设备需要恢复对象数据时调用 // 保存数据对象,如果应用退出后组网内设备需要恢复对象数据时调用
localObject.save('local').then((result) => { localObject.save("local").then((result: distributedDataObject.SaveSuccessResponse) => {
console.info(`Succeeded in saving. SessionId:${result.sessionId},version:${result.version},deviceId:${result.deviceId}`); console.info(`Succeeded in saving. SessionId:${result.sessionId},version:${result.version},deviceId:${result.deviceId}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to save. Code:${err.code},message:${err.message}`); console.error(`Failed to save. Code:${err.code},message:${err.message}`);
}); });
// 撤回保存的数据对象 // 撤回保存的数据对象
localObject.revokeSave().then((result) => { localObject.revokeSave().then((result: distributedDataObject.RevokeSaveSuccessResponse) => {
console.info(`Succeeded in revokeSaving. Session:${result.sessionId}`); console.info(`Succeeded in revokeSaving. Session:${result.sessionId}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to revokeSave. Code:${err.code},message:${err.message}`); console.error(`Failed to revokeSave. Code:${err.code},message:${err.message}`);
}); });
``` ```
...@@ -292,8 +323,16 @@ ...@@ -292,8 +323,16 @@
11. 删除监听分布式数据对象的上下线。可以指定删除监听的上下线回调;也可以不指定,这将会删除该分布式数据对象的所有上下线回调。 11. 删除监听分布式数据对象的上下线。可以指定删除监听的上下线回调;也可以不指定,这将会删除该分布式数据对象的所有上下线回调。
```js ```js
interface offStatusCallback {
sessionId: string,
deviceId: string,
status: 'online' | 'offline'
}
// 删除上下线回调statusCallback // 删除上下线回调statusCallback
localObject.off('status', this.statusCallback); localObject.off('status', (statusCallback: offStatusCallback) => {
console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.deviceId);
// 业务处理
});
// 删除所有的上下线回调 // 删除所有的上下线回调
localObject.off('status'); localObject.off('status');
``` ```
...@@ -302,7 +341,7 @@ ...@@ -302,7 +341,7 @@
```js ```js
localObject.setSessionId(() => { localObject.setSessionId(() => {
console.info('leave all lession.'); console.info('leave all session.');
}); });
``` ```
......
...@@ -42,10 +42,20 @@ FA模型示例: ...@@ -42,10 +42,20 @@ FA模型示例:
// 导入模块 // 导入模块
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base';
// 获取context // 获取context
let context = featureAbility.getContext(); let context = featureAbility.getContext();
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object interface sourceObject{
let g_object = distributedObject.create(context, {name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); name: string,
age: number,
isVis: boolean
}
let source: sourceObject = {
name: "amy",
age:18,
isVis:false
}
let g_object: distributedObject.DataObject = distributedObject.create(context, source);
``` ```
Stage模型示例: Stage模型示例:
...@@ -54,13 +64,23 @@ Stage模型示例: ...@@ -54,13 +64,23 @@ Stage模型示例:
// 导入模块 // 导入模块
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base';
let g_object = null; import window from '@ohos.window';
let g_object: distributedObject.DataObject = null;
interface sourceObject{
name: string,
age: number,
isVis: boolean
}
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage) {
// 创建对象,该对象包含4个属性类型:string、number、boolean和Object let source: sourceObject = {
g_object = distributedObject.create(this.context, {name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); name: "amy",
age:18,
isVis:false
}
g_object = distributedObject.create(this.context, source);
} }
} }
``` ```
...@@ -83,7 +103,7 @@ genSessionId(): string ...@@ -83,7 +103,7 @@ genSessionId(): string
```js ```js
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
let sessionId = distributedObject.genSessionId(); let sessionId: string = distributedObject.genSessionId();
``` ```
## SaveSuccessResponse<sup>9+</sup> ## SaveSuccessResponse<sup>9+</sup>
...@@ -179,7 +199,7 @@ g_object.setSessionId(distributedObject.genSessionId(), ()=>{ ...@@ -179,7 +199,7 @@ g_object.setSessionId(distributedObject.genSessionId(), ()=>{
}); });
// 退出分布式组网 // 退出分布式组网
g_object.setSessionId(() => { g_object.setSessionId(() => {
console.info("leave all lession."); console.info("leave all session.");
}); });
``` ```
...@@ -219,13 +239,13 @@ setSessionId(sessionId?: string): Promise&lt;void&gt; ...@@ -219,13 +239,13 @@ setSessionId(sessionId?: string): Promise&lt;void&gt;
// g_object加入分布式组网 // g_object加入分布式组网
g_object.setSessionId(distributedObject.genSessionId()).then (()=>{ g_object.setSessionId(distributedObject.genSessionId()).then (()=>{
console.info("join session."); console.info("join session.");
}).catch((error)=>{ }).catch((error: BusinessError)=>{
console.info("error:" + error.code + error.message); console.info("error:" + error.code + error.message);
}); });
// 退出分布式组网 // 退出分布式组网
g_object.setSessionId().then (()=>{ g_object.setSessionId().then (()=>{
console.info("leave all lession."); console.info("leave all session.");
}).catch((error)=>{ }).catch((error: BusinessError)=>{
console.info("error:" + error.code + error.message); console.info("error:" + error.code + error.message);
}); });
``` ```
...@@ -248,15 +268,18 @@ on(type: 'change', callback: Callback<{ sessionId: string, fields: Array&lt;stri ...@@ -248,15 +268,18 @@ on(type: 'change', callback: Callback<{ sessionId: string, fields: Array&lt;stri
**示例:** **示例:**
```js ```js
globalThis.changeCallback = (sessionId, changeData) => { interface ChangeCallback {
console.info("change" + sessionId); sessionId: string,
if (changeData != null && changeData != undefined) { fields: Array<string>
changeData.forEach(element => {
console.info("changed !" + element + " " + g_object[element]);
});
}
} }
g_object.on("change", globalThis.changeCallback); g_object.on("change", (changeData: ChangeCallback) => {
console.info("change" + changeData.sessionId);
if (changeData.fields != null && changeData.fields != undefined) {
for (let index: number = 0; index < changeData.fields.length; index++) {
console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]);
}
}
});
``` ```
### off('change')<sup>9+</sup> ### off('change')<sup>9+</sup>
...@@ -279,7 +302,14 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array&lt;st ...@@ -279,7 +302,14 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array&lt;st
```js ```js
// 删除数据变更回调changeCallback // 删除数据变更回调changeCallback
g_object.off("change", globalThis.changeCallback); g_object.off("change", (changeData:ChangeCallback) => {
console.info("change" + changeData.sessionId);
if (changeData.fields != null && changeData.fields != undefined) {
for (let index: number = 0; index < changeData.fields.length; index++) {
console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]);
}
}
});
// 删除所有的数据变更回调 // 删除所有的数据变更回调
g_object.off("change"); g_object.off("change");
``` ```
...@@ -302,10 +332,15 @@ on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, st ...@@ -302,10 +332,15 @@ on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, st
**示例:** **示例:**
```js ```js
globalThis.statusCallback = (sessionId, networkId, status) => { interface onStatusCallback {
globalThis.response += "status changed " + sessionId + " " + status + " " + networkId; sessionId: string,
networkId: string,
status: 'online' | 'offline'
} }
g_object.on("status", globalThis.statusCallback);
g_object.on("status", (statusCallback:onStatusCallback) => {
console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.networkId);
});
``` ```
### off('status')<sup>9+</sup> ### off('status')<sup>9+</sup>
...@@ -327,11 +362,15 @@ off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, s ...@@ -327,11 +362,15 @@ off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, s
**示例:** **示例:**
```js ```js
globalThis.statusCallback = (sessionId, networkId, status) => { interface offStatusCallback {
globalThis.response += "status changed " + sessionId + " " + status + " " + networkId; sessionId: string,
networkId: string,
status: 'online' | 'offline'
} }
// 删除上下线回调changeCallback // 删除上下线回调changeCallback
g_object.off("status",globalThis.statusCallback); g_object.off("status", (statusCallback:StatusCallback) => {
console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.networkId);
});
// 删除所有的上下线回调 // 删除所有的上下线回调
g_object.off("status"); g_object.off("status");
``` ```
...@@ -363,7 +402,7 @@ save(deviceId: string, callback: AsyncCallback&lt;SaveSuccessResponse&gt;): void ...@@ -363,7 +402,7 @@ save(deviceId: string, callback: AsyncCallback&lt;SaveSuccessResponse&gt;): void
```ts ```ts
g_object.setSessionId("123456"); g_object.setSessionId("123456");
g_object.save("local", (err, result) => { g_object.save("local", (err: BusinessError, result:distributedObject.SaveSuccessResponse) => {
if (err) { if (err) {
console.info("save failed, error code = " + err.code); console.info("save failed, error code = " + err.code);
console.info("save failed, error message: " + err.message); console.info("save failed, error message: " + err.message);
...@@ -408,12 +447,12 @@ save(deviceId: string): Promise&lt;SaveSuccessResponse&gt; ...@@ -408,12 +447,12 @@ save(deviceId: string): Promise&lt;SaveSuccessResponse&gt;
```js ```js
g_object.setSessionId("123456"); g_object.setSessionId("123456");
g_object.save("local").then((result) => { g_object.save("local").then((result: distributedObject.SaveSuccessResponse) => {
console.info("save callback"); console.info("save callback");
console.info("save sessionId " + result.sessionId); console.info("save sessionId " + result.sessionId);
console.info("save version " + result.version); console.info("save version " + result.version);
console.info("save deviceId " + result.deviceId); console.info("save deviceId " + result.deviceId);
}).catch((err) => { }).catch((err: BusinessError) => {
console.info("save failed, error code = " + err.code); console.info("save failed, error code = " + err.code);
console.info("save failed, error message: " + err.message); console.info("save failed, error message: " + err.message);
}); });
...@@ -441,7 +480,7 @@ revokeSave(callback: AsyncCallback&lt;RevokeSaveSuccessResponse&gt;): void ...@@ -441,7 +480,7 @@ revokeSave(callback: AsyncCallback&lt;RevokeSaveSuccessResponse&gt;): void
```js ```js
g_object.setSessionId("123456"); g_object.setSessionId("123456");
// 持久化数据 // 持久化数据
g_object.save("local", (err, result) => { g_object.save("local", (err: BusinessError, result: distributedObject.SaveSuccessResponse) => {
if (err) { if (err) {
console.info("save failed, error code = " + err.code); console.info("save failed, error code = " + err.code);
console.info("save failed, error message: " + err.message); console.info("save failed, error message: " + err.message);
...@@ -453,7 +492,7 @@ g_object.save("local", (err, result) => { ...@@ -453,7 +492,7 @@ g_object.save("local", (err, result) => {
console.info("save deviceId: " + result.deviceId); console.info("save deviceId: " + result.deviceId);
}); });
// 删除持久化保存的数据 // 删除持久化保存的数据
g_object.revokeSave((err, result) => { g_object.revokeSave((err: BusinessError, result: distributedObject.RevokeSaveSuccessResponse) => {
if (err) { if (err) {
console.info("revokeSave failed, error code = " + err.code); console.info("revokeSave failed, error code = " + err.code);
console.info("revokeSave failed, error message: " + err.message); console.info("revokeSave failed, error message: " + err.message);
...@@ -486,20 +525,20 @@ revokeSave(): Promise&lt;RevokeSaveSuccessResponse&gt; ...@@ -486,20 +525,20 @@ revokeSave(): Promise&lt;RevokeSaveSuccessResponse&gt;
```ts ```ts
g_object.setSessionId("123456"); g_object.setSessionId("123456");
// 持久化数据 // 持久化数据
g_object.save("local").then((result) => { g_object.save("local").then((result: distributedObject.SaveSuccessResponse) => {
console.info("save callback"); console.info("save callback");
console.info("save sessionId " + result.sessionId); console.info("save sessionId " + result.sessionId);
console.info("save version " + result.version); console.info("save version " + result.version);
console.info("save deviceId " + result.deviceId); console.info("save deviceId " + result.deviceId);
}).catch((err) => { }).catch((err: BusinessError) => {
console.info("save failed, error code = " + err.code); console.info("save failed, error code = " + err.code);
console.info("save failed, error message: " + err.message); console.info("save failed, error message: " + err.message);
}); });
// 删除持久化保存的数据 // 删除持久化保存的数据
g_object.revokeSave().then((result) => { g_object.revokeSave().then((result: distributedObject.RevokeSaveSuccessResponse) => {
console.info("revokeSave callback"); console.info("revokeSave callback");
console.info("sessionId" + result.sessionId); console.info("sessionId" + result.sessionId);
}).catch((err)=> { }).catch((err: BusinessError)=> {
console.info("revokeSave failed, error code = " + err.code); console.info("revokeSave failed, error code = " + err.code);
console.info("revokeSave failed, error message = " + err.message); console.info("revokeSave failed, error message = " + err.message);
}); });
...@@ -534,8 +573,17 @@ createDistributedObject(source: object): DistributedObject ...@@ -534,8 +573,17 @@ createDistributedObject(source: object): DistributedObject
```js ```js
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
// 创建对象,对象包含4个属性类型,string,number,boolean和Object interface sourceObject{
let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); name: string,
age: number,
isVis: boolean
}
let source: sourceObject = {
name: "amy",
age:18,
isVis:false
}
let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source);
``` ```
## DistributedObject<sup>(deprecated)</sup> ## DistributedObject<sup>(deprecated)</sup>
...@@ -572,7 +620,17 @@ setSessionId(sessionId?: string): boolean ...@@ -572,7 +620,17 @@ setSessionId(sessionId?: string): boolean
```js ```js
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}});; interface sourceObject{
name: string,
age: number,
isVis: boolean
}
let source: sourceObject = {
name: "amy",
age:18,
isVis:false
}
let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source);
// g_object加入分布式组网 // g_object加入分布式组网
g_object.setSessionId(distributedObject.genSessionId()); g_object.setSessionId(distributedObject.genSessionId());
// 设置为""退出分布式组网 // 设置为""退出分布式组网
...@@ -602,16 +660,29 @@ on(type: 'change', callback: Callback<{ sessionId: string, fields: Array&lt;stri ...@@ -602,16 +660,29 @@ on(type: 'change', callback: Callback<{ sessionId: string, fields: Array&lt;stri
```js ```js
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); interface sourceObject{
globalThis.changeCallback = (sessionId, changeData) => { name: string,
console.info("change" + sessionId); age: number,
if (changeData != null && changeData != undefined) { isVis: boolean
changeData.forEach(element => { }
console.info("changed !" + element + " " + g_object[element]); interface ChangeCallback {
}); sessionId: string,
} fields: Array<string>
}
let source: sourceObject = {
name: "amy",
age:18,
isVis:false
} }
g_object.on("change", globalThis.changeCallback); let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source);
g_object.on("change", (changeData:ChangeCallback) => {
console.info("change" + changeData.sessionId);
if (changeData.fields != null && changeData.fields != undefined) {
for (let index: number = 0; index < changeData.fields.length; index++) {
console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]);
}
}
});
``` ```
### off('change')<sup>(deprecated)</sup> ### off('change')<sup>(deprecated)</sup>
...@@ -638,9 +709,30 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array&lt;st ...@@ -638,9 +709,30 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array&lt;st
```js ```js
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); interface sourceObject{
name: string,
age: number,
isVis: boolean
}
interface ChangeCallback {
sessionId: string,
fields: Array<string>
}
let source: sourceObject = {
name: "amy",
age:18,
isVis:false
}
let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source);
// 删除数据变更回调changeCallback // 删除数据变更回调changeCallback
g_object.off("change", globalThis.changeCallback); g_object.off("change", (changeData:ChangeCallback) => {
console.info("change" + changeData.sessionId);
if (changeData.fields != null && changeData.fields != undefined) {
for (let index: number = 0; index < changeData.fields.length; index++) {
console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]);
}
}
});
// 删除所有的数据变更回调 // 删除所有的数据变更回调
g_object.off("change"); g_object.off("change");
``` ```
...@@ -668,11 +760,27 @@ on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, st ...@@ -668,11 +760,27 @@ on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, st
```js ```js
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
globalThis.statusCallback = (sessionId, networkId, status) => {
globalThis.response += "status changed " + sessionId + " " + status + " " + networkId; interface sourceObject{
name: string,
age: number,
isVis: boolean
}
interface StatusCallback {
sessionId: string,
networkId: string,
status: 'online' | 'offline'
}
let source: sourceObject = {
name: "amy",
age:18,
isVis:false
} }
let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source);
g_object.on("status", globalThis.statusCallback);
g_object.on("status", (statusCallback:StatusCallback) => {
console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.networkId);
});
``` ```
### off('status')<sup>(deprecated)</sup> ### off('status')<sup>(deprecated)</sup>
...@@ -699,12 +807,26 @@ off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, s ...@@ -699,12 +807,26 @@ off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, s
```js ```js
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); interface sourceObject{
globalThis.statusCallback = (sessionId, networkId, status) => { name: string,
globalThis.response += "status changed " + sessionId + " " + status + " " + networkId; age: number,
isVis: boolean
}
interface offStatusCallback {
sessionId: string,
deviceId: string,
status: 'online' | 'offline'
} }
let source: sourceObject = {
name: "amy",
age:18,
isVis:false
}
let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source);
// 删除上下线回调changeCallback // 删除上下线回调changeCallback
g_object.off("status",globalThis.statusCallback); g_object.off("status", (statusCallback:offStatusCallback) => {
console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.deviceId);
});
// 删除所有的上下线回调 // 删除所有的上下线回调
g_object.off("status"); g_object.off("status");
``` ```
...@@ -49,11 +49,13 @@ FA模型示例: ...@@ -49,11 +49,13 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base';
let context = featureAbility.getContext(); let context = featureAbility.getContext();
let preferences = null; let preferences: data_preferences.Preferences = null;
try { try {
data_preferences.getPreferences(context, 'mystore', function (err, val) { data_preferences.getPreferences(context, 'myStore', (err: BusinessError, val: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -70,13 +72,15 @@ Stage模型示例: ...@@ -70,13 +72,15 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base';
import window from '@ohos.window';
let preferences = null; let preferences: data_preferences.Preferences = null;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
data_preferences.getPreferences(this.context, 'mystore', function (err, val) { data_preferences.getPreferences(this.context, 'myStore', (err: BusinessError, val: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -119,15 +123,17 @@ FA模型示例: ...@@ -119,15 +123,17 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
let preferences = null; let preferences: data_preferences.Preferences = null;
try { try {
let promise = data_preferences.getPreferences(context, 'mystore'); let promise = data_preferences.getPreferences(context, 'myStore');
promise.then((object) => { promise.then((object: data_preferences.Preferences) => {
preferences = object; preferences = object;
console.info("Succeeded in getting preferences."); console.info("Succeeded in getting preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -139,17 +145,19 @@ Stage模型示例: ...@@ -139,17 +145,19 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
let preferences = null; let preferences: data_preferences.Preferences = null;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
let promise = data_preferences.getPreferences(this.context, 'mystore'); let promise = data_preferences.getPreferences(this.context, 'myStore');
promise.then((object) => { promise.then((object: data_preferences.Preferences) => {
preferences = object; preferences = object;
console.info("Succeeded in getting preferences."); console.info("Succeeded in getting preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -191,11 +199,14 @@ FA模型示例: ...@@ -191,11 +199,14 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
let preferences = null; let preferences: data_preferences.Preferences = null;
try { try {
data_preferences.getPreferences(context, { name: 'mystore' }, function (err, val) { let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' };
data_preferences.getPreferences(context, options, (err: BusinessError, val: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -213,13 +224,16 @@ Stage模型示例: ...@@ -213,13 +224,16 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
let preferences = null; let preferences: data_preferences.Preferences = null;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
data_preferences.getPreferences(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err, val) { let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' };
data_preferences.getPreferences(this.context, options, (err: BusinessError, val: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -271,15 +285,17 @@ FA模型示例: ...@@ -271,15 +285,17 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
let preferences = null; let preferences: data_preferences.Preferences = null;
try { try {
let promise = data_preferences.getPreferences(context, { name: 'mystore' }); let options: data_preferences.Options = { name: 'myStore' };
promise.then((object) => { let promise = data_preferences.getPreferences(context, options);
promise.then((object: data_preferences.Preferences) => {
preferences = object; preferences = object;
console.info("Succeeded in getting preferences."); console.info("Succeeded in getting preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -291,17 +307,20 @@ Stage模型示例: ...@@ -291,17 +307,20 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
let preferences = null; let preferences: data_preferences.Preferences = null;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
let promise = data_preferences.getPreferences(this.context, { name: 'mystore', dataGroupId:'myId' }); let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' };
promise.then((object) => { let promise = data_preferences.getPreferences(this.context, options);
promise.then((object: data_preferences.Preferences) => {
preferences = object; preferences = object;
console.info("Succeeded in getting preferences."); console.info("Succeeded in getting preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -311,7 +330,6 @@ class EntryAbility extends UIAbility { ...@@ -311,7 +330,6 @@ class EntryAbility extends UIAbility {
} }
``` ```
## data_preferences.deletePreferences ## data_preferences.deletePreferences
deletePreferences(context: Context, name: string, callback: AsyncCallback&lt;void&gt;): void deletePreferences(context: Context, name: string, callback: AsyncCallback&lt;void&gt;): void
...@@ -345,10 +363,12 @@ FA模型示例: ...@@ -345,10 +363,12 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
data_preferences.deletePreferences(context, 'mystore', function (err) { data_preferences.deletePreferences(context, 'myStore', (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -364,11 +384,13 @@ Stage模型示例: ...@@ -364,11 +384,13 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
data_preferences.deletePreferences(this.context, 'mystore', function (err) { data_preferences.deletePreferences(this.context, 'myStore', (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -420,13 +442,15 @@ FA模型示例: ...@@ -420,13 +442,15 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
let promise = data_preferences.deletePreferences(context, 'mystore'); let promise = data_preferences.deletePreferences(context, 'myStore');
promise.then(() => { promise.then(() => {
console.info("Succeeded in deleting preferences."); console.info("Succeeded in deleting preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -438,14 +462,16 @@ Stage模型示例: ...@@ -438,14 +462,16 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try{ try{
let promise = data_preferences.deletePreferences(this.context, 'mystore'); let promise = data_preferences.deletePreferences(this.context, 'myStore');
promise.then(() => { promise.then(() => {
console.info("Succeeded in deleting preferences."); console.info("Succeeded in deleting preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -490,10 +516,13 @@ FA模型示例: ...@@ -490,10 +516,13 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
data_preferences.deletePreferences(context, { name: 'mystore' }, function (err) { let options: data_preferences.Options = { name: 'myStore' };
data_preferences.deletePreferences(context, options, (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -509,11 +538,14 @@ Stage模型示例: ...@@ -509,11 +538,14 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
data_preferences.deletePreferences(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err) { let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' };
data_preferences.deletePreferences(this.context, options, (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -568,13 +600,16 @@ FA模型示例: ...@@ -568,13 +600,16 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
let promise = data_preferences.deletePreferences(context, { name: 'mystore' }); let options: data_preferences.Options = { name: 'myStore' };
let promise = data_preferences.deletePreferences(context, options);
promise.then(() => { promise.then(() => {
console.info("Succeeded in deleting preferences."); console.info("Succeeded in deleting preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -586,14 +621,17 @@ Stage模型示例: ...@@ -586,14 +621,17 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try{ try{
let promise = data_preferences.deletePreferences(this.context, { name: 'mystore', dataGroupId:'myId' }); let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' };
let promise = data_preferences.deletePreferences(this.context, options);
promise.then(() => { promise.then(() => {
console.info("Succeeded in deleting preferences."); console.info("Succeeded in deleting preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -631,9 +669,11 @@ FA模型示例: ...@@ -631,9 +669,11 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
data_preferences.removePreferencesFromCache(context, 'mystore', function (err) { data_preferences.removePreferencesFromCache(context, 'myStore', (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -649,11 +689,13 @@ Stage模型示例: ...@@ -649,11 +689,13 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
data_preferences.removePreferencesFromCache(this.context, 'mystore', function (err) { data_preferences.removePreferencesFromCache(this.context, 'myStore', (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -699,12 +741,14 @@ FA模型示例: ...@@ -699,12 +741,14 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
let promise = data_preferences.removePreferencesFromCache(context, 'mystore'); let promise = data_preferences.removePreferencesFromCache(context, 'myStore');
promise.then(() => { promise.then(() => {
console.info("Succeeded in removing preferences."); console.info("Succeeded in removing preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -716,14 +760,16 @@ Stage模型示例: ...@@ -716,14 +760,16 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
let promise = data_preferences.removePreferencesFromCache(this.context, 'mystore'); let promise = data_preferences.removePreferencesFromCache(this.context, 'myStore');
promise.then(() => { promise.then(() => {
console.info("Succeeded in removing preferences."); console.info("Succeeded in removing preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -761,7 +807,7 @@ FA模型示例: ...@@ -761,7 +807,7 @@ FA模型示例:
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
data_preferences.removePreferencesFromCacheSync(context, 'mystore'); data_preferences.removePreferencesFromCacheSync(context, 'myStore');
} catch(err) { } catch(err) {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
} }
...@@ -773,9 +819,9 @@ Stage模型示例: ...@@ -773,9 +819,9 @@ Stage模型示例:
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
data_preferences.removePreferencesFromCacheSync(this.context, 'mystore'); data_preferences.removePreferencesFromCacheSync(this.context, 'myStore');
} catch(err) { } catch(err) {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
} }
...@@ -819,9 +865,11 @@ FA模型示例: ...@@ -819,9 +865,11 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
data_preferences.removePreferencesFromCache(context, { name: 'mystore' }, function (err) { let options: data_preferences.Options = { name: 'myStore' };
data_preferences.removePreferencesFromCache(context, options, (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -837,11 +885,14 @@ Stage模型示例: ...@@ -837,11 +885,14 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
data_preferences.removePreferencesFromCache(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err) { let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' };
data_preferences.removePreferencesFromCache(this.context, options, (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -896,12 +947,14 @@ FA模型示例: ...@@ -896,12 +947,14 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
try { try {
let promise = data_preferences.removePreferencesFromCache(context, { name: 'mystore' }); let options: data_preferences.Options = { name: 'myStore' };
let promise = data_preferences.removePreferencesFromCache(context, options);
promise.then(() => { promise.then(() => {
console.info("Succeeded in removing preferences."); console.info("Succeeded in removing preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -913,14 +966,17 @@ Stage模型示例: ...@@ -913,14 +966,17 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base'
import window from '@ohos.window';
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
try { try {
let promise = data_preferences.removePreferencesFromCache(this.context, { name: 'mystore', dataGroupId:'myId' }); let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' };
let promise = data_preferences.removePreferencesFromCache(this.context, options);
promise.then(() => { promise.then(() => {
console.info("Succeeded in removing preferences."); console.info("Succeeded in removing preferences.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -968,7 +1024,7 @@ get(key: string, defValue: ValueType, callback: AsyncCallback&lt;ValueType&gt;): ...@@ -968,7 +1024,7 @@ get(key: string, defValue: ValueType, callback: AsyncCallback&lt;ValueType&gt;):
```js ```js
try { try {
preferences.get('startup', 'default', function (err, val) { preferences.get('startup', 'default', (err: BusinessError, val: data_preferences.ValueType) => {
if (err) { if (err) {
console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message); console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -1007,9 +1063,9 @@ get(key: string, defValue: ValueType): Promise&lt;ValueType&gt; ...@@ -1007,9 +1063,9 @@ get(key: string, defValue: ValueType): Promise&lt;ValueType&gt;
```js ```js
try { try {
let promise = preferences.get('startup', 'default'); let promise = preferences.get('startup', 'default');
promise.then((data) => { promise.then((data: data_preferences.ValueType) => {
console.info("Succeeded in getting value of 'startup'. Data: " + data); console.info("Succeeded in getting value of 'startup'. Data: " + data);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message); console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -1042,7 +1098,7 @@ getSync(key: string, defValue: ValueType): ValueType ...@@ -1042,7 +1098,7 @@ getSync(key: string, defValue: ValueType): ValueType
```js ```js
try { try {
let value = preferences.getSync('startup', 'default'); let value: data_preferences.ValueType = preferences.getSync('startup', 'default');
console.info("Succeeded in getting value of 'startup'. Data: " + value); console.info("Succeeded in getting value of 'startup'. Data: " + value);
} catch(err) { } catch(err) {
console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message); console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
...@@ -1067,7 +1123,7 @@ getAll(callback: AsyncCallback&lt;Object&gt;): void; ...@@ -1067,7 +1123,7 @@ getAll(callback: AsyncCallback&lt;Object&gt;): void;
```js ```js
try { try {
preferences.getAll(function (err, value) { preferences.getAll((err: BusinessError, value: data_preferences.ValueType) => {
if (err) { if (err) {
console.error("Failed to get all key-values. code =" + err.code + ", message =" + err.message); console.error("Failed to get all key-values. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -1101,11 +1157,11 @@ getAll(): Promise&lt;Object&gt; ...@@ -1101,11 +1157,11 @@ getAll(): Promise&lt;Object&gt;
```js ```js
try { try {
let promise = preferences.getAll(); let promise = preferences.getAll();
promise.then((value) => { promise.then((value: data_preferences.ValueType) => {
let allKeys = Object.keys(value); let allKeys = Object.keys(value);
console.info('getAll keys = ' + allKeys); console.info('getAll keys = ' + allKeys);
console.info("getAll object = " + JSON.stringify(value)); console.info("getAll object = " + JSON.stringify(value));
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to get all key-values. code =" + err.code + ", message =" + err.message); console.error("Failed to get all key-values. code =" + err.code + ", message =" + err.message);
}) })
} catch (err) { } catch (err) {
...@@ -1160,7 +1216,7 @@ put(key: string, value: ValueType, callback: AsyncCallback&lt;void&gt;): void ...@@ -1160,7 +1216,7 @@ put(key: string, value: ValueType, callback: AsyncCallback&lt;void&gt;): void
```js ```js
try { try {
preferences.put('startup', 'auto', function (err) { preferences.put('startup', 'auto', (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to put value of 'startup'. code =" + err.code + ", message =" + err.message); console.error("Failed to put value of 'startup'. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -1201,7 +1257,7 @@ try { ...@@ -1201,7 +1257,7 @@ try {
let promise = preferences.put('startup', 'auto'); let promise = preferences.put('startup', 'auto');
promise.then(() => { promise.then(() => {
console.info("Succeeded in putting value of 'startup'."); console.info("Succeeded in putting value of 'startup'.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to put value of 'startup'. code =" + err.code +", message =" + err.message); console.error("Failed to put value of 'startup'. code =" + err.code +", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -1255,7 +1311,7 @@ has(key: string, callback: AsyncCallback&lt;boolean&gt;): void ...@@ -1255,7 +1311,7 @@ has(key: string, callback: AsyncCallback&lt;boolean&gt;): void
```js ```js
try { try {
preferences.has('startup', function (err, val) { preferences.has('startup', (err: BusinessError, val: boolean) => {
if (err) { if (err) {
console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message); console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -1297,13 +1353,13 @@ has(key: string): Promise&lt;boolean&gt; ...@@ -1297,13 +1353,13 @@ has(key: string): Promise&lt;boolean&gt;
```js ```js
try { try {
let promise = preferences.has('startup'); let promise = preferences.has('startup');
promise.then((val) => { promise.then((val: boolean) => {
if (val) { if (val) {
console.info("The key 'startup' is contained."); console.info("The key 'startup' is contained.");
} else { } else {
console.info("The key 'startup' dose not contain."); console.info("The key 'startup' dose not contain.");
} }
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message); console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -1336,7 +1392,7 @@ hasSync(key: string): boolean ...@@ -1336,7 +1392,7 @@ hasSync(key: string): boolean
```js ```js
try { try {
let isExist = preferences.hasSync('startup'); let isExist: boolean = preferences.hasSync('startup');
if (isExist) { if (isExist) {
console.info("The key 'startup' is contained."); console.info("The key 'startup' is contained.");
} else { } else {
...@@ -1367,7 +1423,7 @@ delete(key: string, callback: AsyncCallback&lt;void&gt;): void ...@@ -1367,7 +1423,7 @@ delete(key: string, callback: AsyncCallback&lt;void&gt;): void
```js ```js
try { try {
preferences.delete('startup', function (err) { preferences.delete('startup', (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to delete the key 'startup'. code =" + err.code + ", message =" + err.message); console.error("Failed to delete the key 'startup'. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -1407,7 +1463,7 @@ try { ...@@ -1407,7 +1463,7 @@ try {
let promise = preferences.delete('startup'); let promise = preferences.delete('startup');
promise.then(() => { promise.then(() => {
console.info("Succeeded in deleting the key 'startup'."); console.info("Succeeded in deleting the key 'startup'.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to delete the key 'startup'. code =" + err.code +", message =" + err.message); console.error("Failed to delete the key 'startup'. code =" + err.code +", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -1459,7 +1515,7 @@ flush(callback: AsyncCallback&lt;void&gt;): void ...@@ -1459,7 +1515,7 @@ flush(callback: AsyncCallback&lt;void&gt;): void
```js ```js
try { try {
preferences.flush(function (err) { preferences.flush((err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to flush. code =" + err.code + ", message =" + err.message); console.error("Failed to flush. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -1493,7 +1549,7 @@ try { ...@@ -1493,7 +1549,7 @@ try {
let promise = preferences.flush(); let promise = preferences.flush();
promise.then(() => { promise.then(() => {
console.info("Succeeded in flushing."); console.info("Succeeded in flushing.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to flush. code =" + err.code + ", message =" + err.message); console.error("Failed to flush. code =" + err.code + ", message =" + err.message);
}) })
} catch (err) { } catch (err) {
...@@ -1520,7 +1576,7 @@ clear(callback: AsyncCallback&lt;void&gt;): void ...@@ -1520,7 +1576,7 @@ clear(callback: AsyncCallback&lt;void&gt;): void
```js ```js
try { try {
preferences.clear(function (err) { preferences.clear((err: BusinessError) =>{
if (err) { if (err) {
console.error("Failed to clear. code =" + err.code + ", message =" + err.message); console.error("Failed to clear. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -1554,7 +1610,7 @@ try { ...@@ -1554,7 +1610,7 @@ try {
let promise = preferences.clear(); let promise = preferences.clear();
promise.then(() => { promise.then(() => {
console.info("Succeeded in clearing."); console.info("Succeeded in clearing.");
}).catch((err) => { }).catch((err: BusinessError) => {
console.error("Failed to clear. code =" + err.code + ", message =" + err.message); console.error("Failed to clear. code =" + err.code + ", message =" + err.message);
}) })
} catch(err) { } catch(err) {
...@@ -1600,24 +1656,26 @@ on(type: 'change', callback: Callback&lt;{ key : string }&gt;): void ...@@ -1600,24 +1656,26 @@ on(type: 'change', callback: Callback&lt;{ key : string }&gt;): void
**示例:** **示例:**
```js ```js
interface observer {
key: string
}
try { try {
data_preferences.getPreferences(this.context, 'mystore', function (err, preferences) { data_preferences.getPreferences(this.context, 'myStore', (err: BusinessError, preferences: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences."); console.error("Failed to get preferences.");
return; return;
} }
let observer = function (key) { preferences.on('change', (key: observer) => {
console.info("The key " + key + " changed."); console.info("The key " + key + " changed.");
} });
preferences.on('change', observer); preferences.put('startup', 'manual', (err: BusinessError) => {
preferences.put('startup', 'manual', function (err) {
if (err) { if (err) {
console.error("Failed to put the value of 'startup'. Cause: " + err); console.error("Failed to put the value of 'startup'. Cause: " + err);
return; return;
} }
console.info("Succeeded in putting the value of 'startup'."); console.info("Succeeded in putting the value of 'startup'.");
preferences.flush(function (err) { preferences.flush((err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to flush. Cause: " + err); console.error("Failed to flush. Cause: " + err);
return; return;
...@@ -1659,24 +1717,26 @@ on(type: 'multiProcessChange', callback: Callback&lt;{ key : string }&gt;): void ...@@ -1659,24 +1717,26 @@ on(type: 'multiProcessChange', callback: Callback&lt;{ key : string }&gt;): void
**示例1:** **示例1:**
```js ```js
interface observer {
key: string
}
try { try {
data_preferences.getPreferences(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err, preferences) { let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' };
data_preferences.getPreferences(this.context, options, (err: BusinessError, preferences: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences."); console.error("Failed to get preferences.");
return; return;
} }
let observer = function (key) { preferences.on('multiProcessChange', (key: observer) => {
console.info("The key " + key + " changed."); console.info("The key " + key + " changed.");
} });
preferences.on('multiProcessChange', observer); preferences.put('startup', 'manual', (err: BusinessError) => {
preferences.put('startup', 'manual', function (err) {
if (err) { if (err) {
console.error("Failed to put the value of 'startup'. Cause: " + err); console.error("Failed to put the value of 'startup'. Cause: " + err);
return; return;
} }
console.info("Succeeded in putting the value of 'startup'."); console.info("Succeeded in putting the value of 'startup'.");
preferences.flush((err: BusinessError) => {
preferences.flush(function (err) {
if (err) { if (err) {
console.error("Failed to flush. Cause: " + err); console.error("Failed to flush. Cause: " + err);
return; return;
...@@ -1693,17 +1753,21 @@ try { ...@@ -1693,17 +1753,21 @@ try {
**示例2:** **示例2:**
```js ```js
interface observer {
key: string
}
try { try {
data_preferences.getPreferences(this.context, { name: 'mystore' }, function (err, val) { let options: data_preferences.Options = { name: 'myStore' };
data_preferences.getPreferences(this.context, options, (err: BusinessError, val: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences."); console.error("Failed to get preferences.");
return; return;
} }
preferences = val; preferences = val;
let observer = function (key) { preferences.on('multiProcessChange', (key: observer) => {
console.info("The key " + key + " changed."); console.info("The key " + key + " changed.");
try { try {
data_preferences.removePreferencesFromCache(this.context, { name: 'mystore' }, function (err) { data_preferences.removePreferencesFromCache(this.context, options, (err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -1716,7 +1780,7 @@ try { ...@@ -1716,7 +1780,7 @@ try {
} }
try { try {
data_preferences.getPreferences(this.context, { name: 'mystore' }, function (err, val) { data_preferences.getPreferences(this.context, options, (err: BusinessError, val: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
return; return;
...@@ -1727,16 +1791,15 @@ try { ...@@ -1727,16 +1791,15 @@ try {
} catch (err) { } catch (err) {
console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
} }
} });
preferences.on('multiProcessChange', observer); preferences.put('startup', 'manual', (err: BusinessError) => {
preferences.put('startup', 'manual', function (err) {
if (err) { if (err) {
console.error("Failed to put the value of 'startup'. Cause: " + err); console.error("Failed to put the value of 'startup'. Cause: " + err);
return; return;
} }
console.info("Succeeded in putting the value of 'startup'."); console.info("Succeeded in putting the value of 'startup'.");
preferences.flush(function (err) { preferences.flush((err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to flush. Cause: " + err); console.error("Failed to flush. Cause: " + err);
return; return;
...@@ -1768,31 +1831,35 @@ off(type: 'change', callback?: Callback&lt;{ key : string }&gt;): void ...@@ -1768,31 +1831,35 @@ off(type: 'change', callback?: Callback&lt;{ key : string }&gt;): void
**示例:** **示例:**
```js ```js
interface observer {
key: string
}
try { try {
data_preferences.getPreferences(this.context, 'mystore', function (err, preferences) { data_preferences.getPreferences(this.context, 'myStore', (err: BusinessError, val: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences."); console.error("Failed to get preferences.");
return; return;
} }
let observer = function (key) { preferences.on('change', (key: observer) => {
console.info("The key " + key + " changed."); console.info("The key " + key + " changed.");
} });
preferences.on('change', observer); preferences.put('startup', 'auto', (err: BusinessError) => {
preferences.put('startup', 'auto', function (err) {
if (err) { if (err) {
console.error("Failed to put the value of 'startup'. Cause: " + err); console.error("Failed to put the value of 'startup'. Cause: " + err);
return; return;
} }
console.info("Succeeded in putting the value of 'startup'."); console.info("Succeeded in putting the value of 'startup'.");
preferences.flush(function (err) { preferences.flush((err: BusinessError) =>{
if (err) { if (err) {
console.error("Failed to flush. Cause: " + err); console.error("Failed to flush. Cause: " + err);
return; return;
} }
console.info("Succeeded in flushing."); console.info("Succeeded in flushing.");
}) })
preferences.off('change', observer); preferences.off('change', (key: observer) => {
console.info("The key " + key + " changed.");
});
}) })
}) })
} catch (err) { } catch (err) {
...@@ -1818,31 +1885,36 @@ off(type: 'multiProcessChange', callback?: Callback&lt;{ key : string }&gt;): vo ...@@ -1818,31 +1885,36 @@ off(type: 'multiProcessChange', callback?: Callback&lt;{ key : string }&gt;): vo
**示例:** **示例:**
```js ```js
interface observer {
key: string
}
try { try {
data_preferences.getPreferences(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err, preferences) { let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' };
data_preferences.getPreferences(this.context, options, (err: BusinessError, preferences: data_preferences.Preferences) => {
if (err) { if (err) {
console.error("Failed to get preferences."); console.error("Failed to get preferences.");
return; return;
} }
let observer = function (key) { preferences.on('multiProcessChange', (key: observer) => {
console.info("The key " + key + " changed."); console.info("The key " + key + " changed.");
} });
preferences.on('multiProcessChange', observer); preferences.put('startup', 'auto', (err: BusinessError) => {
preferences.put('startup', 'auto', function (err) {
if (err) { if (err) {
console.error("Failed to put the value of 'startup'. Cause: " + err); console.error("Failed to put the value of 'startup'. Cause: " + err);
return; return;
} }
console.info("Succeeded in putting the value of 'startup'."); console.info("Succeeded in putting the value of 'startup'.");
preferences.flush(function (err) { preferences.flush((err: BusinessError) => {
if (err) { if (err) {
console.error("Failed to flush. Cause: " + err); console.error("Failed to flush. Cause: " + err);
return; return;
} }
console.info("Succeeded in flushing."); console.info("Succeeded in flushing.");
}) })
preferences.off('multiProcessChange', observer); preferences.off('multiProcessChange', (key: observer) => {
console.info("The key " + key + " changed.");
});
}) })
}) })
} catch (err) { } catch (err) {
......
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
```js ```js
import data_rdb from '@ohos.data.rdb'; import data_rdb from '@ohos.data.rdb';
import { BusinessError } from "@ohos.base"
import window from '@ohos.window';
``` ```
## data_rdb.getRdbStore ## data_rdb.getRdbStore
...@@ -43,11 +45,11 @@ FA模型示例: ...@@ -43,11 +45,11 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext() let context: Context;
// 获取context后调用getRdbStore // 获取context后调用getRdbStore
const STORE_CONFIG = { name: "RdbTest.db"} const STORE_CONFIG = { name: "RdbTest.db"}
data_rdb.getRdbStore(context, STORE_CONFIG, 1, function (err, rdbStore) { data_rdb.getRdbStore(context, STORE_CONFIG, 1, (err, rdbStore) => {
if (err) { if (err) {
console.info("Get RdbStore failed, err: " + err) console.info("Get RdbStore failed, err: " + err)
return return
...@@ -62,22 +64,23 @@ Stage模型示例: ...@@ -62,22 +64,23 @@ Stage模型示例:
// 获取context // 获取context
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
let context; let context: Context;
class EntryAbility extends UIAbility { interface storeConfig {
onWindowStageCreate(windowStage){ name: string
context = this.context
}
} }
// 获取context后调用getRdbStore class EntryAbility extends UIAbility {
const STORE_CONFIG = { name: "RdbTest.db"} onWindowStageCreate(windowStage: window.WindowStage){
data_rdb.getRdbStore(context, STORE_CONFIG, 1, function (err, rdbStore) { let STORE_CONFIG: storeConfig = { name: "RdbTest.db"};
data_rdb.getRdbStore(this.context, STORE_CONFIG, 1, (err: BusinessError, rdbStore: data_rdb.RdbStore) => {
if (err) { if (err) {
console.info("Get RdbStore failed, err: " + err) console.info("Get RdbStore failed, err: " + err)
return return
} }
console.log("Get RdbStore successfully.") console.log("Get RdbStore successfully.")
}) })
}
}
``` ```
## data_rdb.getRdbStore ## data_rdb.getRdbStore
...@@ -109,7 +112,7 @@ FA模型示例: ...@@ -109,7 +112,7 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext() let context: Context;
// 获取context后调用getRdbStore // 获取context后调用getRdbStore
const STORE_CONFIG = { name: "RdbTest.db" } const STORE_CONFIG = { name: "RdbTest.db" }
...@@ -127,19 +130,22 @@ Stage模型示例: ...@@ -127,19 +130,22 @@ Stage模型示例:
// 获取context // 获取context
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
let context; let context: Context;
interface storeConfig {
name: string
}
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
context = this.context context = this.context
} }
} }
// 获取context后调用getRdbStore // 获取context后调用getRdbStore
const STORE_CONFIG = { name: "RdbTest.db" } let STORE_CONFIG: storeConfig = { name: "RdbTest.db"};
let promise = data_rdb.getRdbStore(context, STORE_CONFIG, 1); let promise = data_rdb.getRdbStore(context, STORE_CONFIG, 1);
promise.then(async (rdbStore) => { promise.then(async (rdbStore: data_rdb.RdbStore) => {
console.log("Get RdbStore successfully.") console.log("Get RdbStore successfully.")
}).catch((err) => { }).catch((err: BusinessError) => {
console.log("Get RdbStore failed, err: " + err) console.log("Get RdbStore failed, err: " + err)
}) })
``` ```
...@@ -167,10 +173,10 @@ FA模型示例: ...@@ -167,10 +173,10 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext() let context: Context;
// 获取context后调用deleteRdbStore // 获取context后调用deleteRdbStore
data_rdb.deleteRdbStore(context, "RdbTest.db", function (err) { data_rdb.deleteRdbStore(context, "RdbTest.db", (err) => {
if (err) { if (err) {
console.info("Delete RdbStore failed, err: " + err) console.info("Delete RdbStore failed, err: " + err)
return return
...@@ -185,15 +191,15 @@ Stage模型示例: ...@@ -185,15 +191,15 @@ Stage模型示例:
// 获取context // 获取context
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
let context; let context: Context;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
context = this.context context = this.context
} }
} }
// 获取context后调用deleteRdbStore // 获取context后调用deleteRdbStore
data_rdb.deleteRdbStore(context, "RdbTest.db", function (err) { data_rdb.deleteRdbStore(context, "RdbTest.db", (err) => {
if (err) { if (err) {
console.info("Delete RdbStore failed, err: " + err) console.info("Delete RdbStore failed, err: " + err)
return return
...@@ -230,7 +236,7 @@ FA模型示例: ...@@ -230,7 +236,7 @@ FA模型示例:
```js ```js
// 获取context // 获取context
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext() let context: Context;
// 获取context后调用deleteRdbStore // 获取context后调用deleteRdbStore
let promise = data_rdb.deleteRdbStore(context, "RdbTest.db") let promise = data_rdb.deleteRdbStore(context, "RdbTest.db")
...@@ -247,9 +253,9 @@ Stage模型示例: ...@@ -247,9 +253,9 @@ Stage模型示例:
// 获取context // 获取context
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
let context; let context: Context;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
context = this.context context = this.context
} }
} }
...@@ -258,7 +264,7 @@ class EntryAbility extends UIAbility { ...@@ -258,7 +264,7 @@ class EntryAbility extends UIAbility {
let promise = data_rdb.deleteRdbStore(context, "RdbTest.db") let promise = data_rdb.deleteRdbStore(context, "RdbTest.db")
promise.then(()=>{ promise.then(()=>{
console.log("Delete RdbStore successfully.") console.log("Delete RdbStore successfully.")
}).catch((err) => { }).catch((err: BusinessError) => {
console.info("Delete RdbStore failed, err: " + err) console.info("Delete RdbStore failed, err: " + err)
}) })
``` ```
...@@ -371,8 +377,8 @@ inDevices(devices: Array&lt;string&gt;): RdbPredicates ...@@ -371,8 +377,8 @@ inDevices(devices: Array&lt;string&gt;): RdbPredicates
```js ```js
import deviceManager from '@ohos.distributedHardware.deviceManager'; import deviceManager from '@ohos.distributedHardware.deviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceIds = []; let deviceIds: Array<string> = [];
deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => {
if (err) { if (err) {
...@@ -381,7 +387,7 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) ...@@ -381,7 +387,7 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager)
} }
dmInstance = manager; dmInstance = manager;
let devices = dmInstance.getTrustedDeviceListSync(); let devices = dmInstance.getTrustedDeviceListSync();
for (var i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].deviceId; deviceIds[i] = devices[i].deviceId;
} }
}) })
......
...@@ -16,6 +16,10 @@ ...@@ -16,6 +16,10 @@
```js ```js
import relationalStore from '@ohos.data.relationalStore' import relationalStore from '@ohos.data.relationalStore'
import window from '@ohos.window';
import deviceManager from '@ohos.distributedHardware.deviceManager';
import { ValuesBucket } from '@ohos.data.ValuesBucket';
import { BusinessError } from "@ohos.base"
``` ```
## relationalStore.getRdbStore ## relationalStore.getRdbStore
...@@ -54,17 +58,17 @@ FA模型示例: ...@@ -54,17 +58,17 @@ FA模型示例:
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
var store; let store: relationalStore.RdbStore;
// 获取context // 获取context
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(context, STORE_CONFIG, function (err, rdbStore) { relationalStore.getRdbStore(this.context, STORE_CONFIG, (err: BusinessError, rdbStore: relationalStore.RdbStore) => {
store = rdbStore; store = rdbStore;
if (err) { if (err) {
console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`);
...@@ -80,14 +84,14 @@ Stage模型示例: ...@@ -80,14 +84,14 @@ Stage模型示例:
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility'
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
var store; let store: relationalStore.RdbStore;
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(this.context, STORE_CONFIG, function (err, rdbStore) { relationalStore.getRdbStore(this.context, STORE_CONFIG, (err: BusinessError, rdbStore: relationalStore.RdbStore) => {
store = rdbStore; store = rdbStore;
if (err) { if (err) {
console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`);
...@@ -139,21 +143,21 @@ FA模型示例: ...@@ -139,21 +143,21 @@ FA模型示例:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
var store; let store: relationalStore.RdbStore;
// 获取context // 获取context
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
let promise = relationalStore.getRdbStore(context, STORE_CONFIG); let promise = relationalStore.getRdbStore(this.context, STORE_CONFIG);
promise.then(async (rdbStore) => { promise.then(async (rdbStore: relationalStore.RdbStore) => {
store = rdbStore; store = rdbStore;
console.info(`Get RdbStore successfully.`); console.info(`Get RdbStore successfully.`)
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -164,18 +168,18 @@ Stage模型示例: ...@@ -164,18 +168,18 @@ Stage模型示例:
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility'
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage: window.WindowStage) {
var store; let store: relationalStore.RdbStore;
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
let promise = relationalStore.getRdbStore(this.context, STORE_CONFIG); let promise = relationalStore.getRdbStore(this.context, STORE_CONFIG);
promise.then(async (rdbStore) => { promise.then(async (rdbStore: relationalStore.RdbStore) => {
store = rdbStore; store = rdbStore;
console.info(`Get RdbStore successfully.`) console.info(`Get RdbStore successfully.`)
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Get RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
} }
...@@ -216,12 +220,12 @@ FA模型示例: ...@@ -216,12 +220,12 @@ FA模型示例:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
var store; let store: relationalStore.RdbStore;
// 获取context // 获取context
let context = featureAbility.getContext() let context = featureAbility.getContext()
relationalStore.deleteRdbStore(context, "RdbTest.db", function (err) { relationalStore.deleteRdbStore(this.context, "RdbTest.db", (err: BusinessError) => {
if (err) { if (err) {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -236,11 +240,11 @@ Stage模型示例: ...@@ -236,11 +240,11 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility'
var store; let store: relationalStore.RdbStore;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
relationalStore.deleteRdbStore(this.context, "RdbTest.db", function (err) { relationalStore.deleteRdbStore(this.context, "RdbTest.db", (err: BusinessError) => {
if (err) { if (err) {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -291,16 +295,16 @@ FA模型示例: ...@@ -291,16 +295,16 @@ FA模型示例:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
var store; let store: relationalStore.RdbStore;
// 获取context // 获取context
let context = featureAbility.getContext(); let context = featureAbility.getContext();
let promise = relationalStore.deleteRdbStore(context, "RdbTest.db"); let promise = relationalStore.deleteRdbStore(this.context, "RdbTest.db");
promise.then(()=>{ promise.then(()=>{
store = null; store = null;
console.info(`Delete RdbStore successfully.`); console.info(`Delete RdbStore successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -310,15 +314,15 @@ Stage模型示例: ...@@ -310,15 +314,15 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility'
var store; let store: relationalStore.RdbStore;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
let promise = relationalStore.deleteRdbStore(this.context, "RdbTest.db"); let promise = relationalStore.deleteRdbStore(this.context, "RdbTest.db");
promise.then(()=>{ promise.then(()=>{
store = null; store = null;
console.info(`Delete RdbStore successfully.`); console.info(`Delete RdbStore successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
} }
...@@ -361,16 +365,16 @@ FA模型示例: ...@@ -361,16 +365,16 @@ FA模型示例:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
var store; let store: relationalStore.RdbStore;
// 获取context // 获取context
let context = featureAbility.getContext() let context = featureAbility.getContext()
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.deleteRdbStore(context, STORE_CONFIG, function (err) { relationalStore.deleteRdbStore(this.context, STORE_CONFIG, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -385,15 +389,15 @@ Stage模型示例: ...@@ -385,15 +389,15 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility'
var store; let store: relationalStore.RdbStore;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.deleteRdbStore(this.context, STORE_CONFIG, function (err) { relationalStore.deleteRdbStore(this.context, STORE_CONFIG, (err: BusinessError) => {
if (err) { if (err) {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -446,20 +450,20 @@ FA模型示例: ...@@ -446,20 +450,20 @@ FA模型示例:
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
var store; let store: relationalStore.RdbStore;
// 获取context // 获取context
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
let promise = relationalStore.deleteRdbStore(context, STORE_CONFIG); let promise = relationalStore.deleteRdbStore(this.context, STORE_CONFIG);
promise.then(()=>{ promise.then(()=>{
store = null; store = null;
console.info(`Delete RdbStore successfully.`); console.info(`Delete RdbStore successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -469,11 +473,11 @@ Stage模型示例: ...@@ -469,11 +473,11 @@ Stage模型示例:
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility'
var store; let store: relationalStore.RdbStore;
class EntryAbility extends UIAbility { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage: window.WindowStage){
const STORE_CONFIG = { const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
...@@ -481,7 +485,7 @@ class EntryAbility extends UIAbility { ...@@ -481,7 +485,7 @@ class EntryAbility extends UIAbility {
promise.then(()=>{ promise.then(()=>{
store = null; store = null;
console.info(`Delete RdbStore successfully.`); console.info(`Delete RdbStore successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`Delete RdbStore failed, code is ${err.code},message is ${err.message}`);
}) })
} }
...@@ -583,7 +587,8 @@ class EntryAbility extends UIAbility { ...@@ -583,7 +587,8 @@ class EntryAbility extends UIAbility {
| 键类型 | 值类型 | | 键类型 | 值类型 |
| ------ | ----------------------- | | ------ | ----------------------- |
| string | [ValueType](#valuetype) | | number | 主键的类型可以是number |
| string | 主键的类型可以是string。 |
## PRIKeyType<sup>10+</sup> ## PRIKeyType<sup>10+</sup>
...@@ -593,8 +598,7 @@ class EntryAbility extends UIAbility { ...@@ -593,8 +598,7 @@ class EntryAbility extends UIAbility {
| 类型 | 说明 | | 类型 | 说明 |
| ---------------- | ---------------------------------- | | ---------------- | ---------------------------------- |
| number | 主键的类型可以是number | | number \| string | 主键的类型可以是number或者string。 |
| string | 主键的类型可以是string。 |
## UTCTime<sup>10+</sup> ## UTCTime<sup>10+</sup>
...@@ -820,13 +824,13 @@ inDevices(devices: Array&lt;string&gt;): RdbPredicates ...@@ -820,13 +824,13 @@ inDevices(devices: Array&lt;string&gt;): RdbPredicates
```js ```js
import deviceManager from '@ohos.distributedDeviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceIds = []; let deviceIds: Array<string> = [];
try { try {
dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify"); dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
let devices = dmInstance.getAvailableDeviceListSync(); let devices = dmInstance.getAvailableDeviceListSync();
for (var i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].networkId; deviceIds[i] = devices[i].networkId;
} }
} catch (err) { } catch (err) {
...@@ -1640,6 +1644,7 @@ predicates.notIn("NAME", ["Lisa", "Rose"]); ...@@ -1640,6 +1644,7 @@ predicates.notIn("NAME", ["Lisa", "Rose"]);
**示例:** **示例:**
```js ```js
let store: relationalStore.RdbStore;
// 设置数据库版本 // 设置数据库版本
store.version = 3; store.version = 3;
// 获取数据库版本 // 获取数据库版本
...@@ -1674,13 +1679,21 @@ insert(table: string, values: ValuesBucket, callback: AsyncCallback&lt;number&gt ...@@ -1674,13 +1679,21 @@ insert(table: string, values: ValuesBucket, callback: AsyncCallback&lt;number&gt
**示例:** **示例:**
```js ```js
const valueBucket = { let key1 = "NAME";
"NAME": "Lisa", let key2 = "AGE";
"AGE": 18, let key3 = "SALARY";
"SALARY": 100.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
store.insert("EMPLOYEE", valueBucket, function (err, rowId) { store.insert("EMPLOYEE", valueBucket, (err, rowId) => {
if (err) { if (err) {
console.error(`Insert is failed, code is ${err.code},message is ${err.message}`); console.error(`Insert is failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -1718,13 +1731,21 @@ insert(table: string, values: ValuesBucket, conflict: ConflictResolution, callb ...@@ -1718,13 +1731,21 @@ insert(table: string, values: ValuesBucket, conflict: ConflictResolution, callb
**示例:** **示例:**
```js ```js
const valueBucket = { let key1 = "NAME";
"NAME": "Lisa", let key2 = "AGE";
"AGE": 18, let key3 = "SALARY";
"SALARY": 100.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
store.insert("EMPLOYEE", valueBucket, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE, function (err, rowId) { store.insert("EMPLOYEE", valueBucket, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE, (err, rowId) => {
if (err) { if (err) {
console.error(`Insert is failed, code is ${err.code},message is ${err.message}`); console.error(`Insert is failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -1766,16 +1787,24 @@ insert(table: string, values: ValuesBucket):Promise&lt;number&gt; ...@@ -1766,16 +1787,24 @@ insert(table: string, values: ValuesBucket):Promise&lt;number&gt;
**示例:** **示例:**
```js ```js
const valueBucket = { let key1 = "NAME";
"NAME": "Lisa", let key2 = "AGE";
"AGE": 18, let key3 = "SALARY";
"SALARY": 100.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let promise = store.insert("EMPLOYEE", valueBucket); let promise = store.insert("EMPLOYEE", valueBucket);
promise.then((rowId) => { promise.then((rowId: number) => {
console.info(`Insert is successful, rowId = ${rowId}`); console.info(`Insert is successful, rowId = ${rowId}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Insert is failed, code is ${err.code},message is ${err.message}`); console.error(`Insert is failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -1814,16 +1843,24 @@ insert(table: string, values: ValuesBucket, conflict: ConflictResolution):Promi ...@@ -1814,16 +1843,24 @@ insert(table: string, values: ValuesBucket, conflict: ConflictResolution):Promi
**示例:** **示例:**
```js ```js
const valueBucket = { let key1 = "NAME";
"NAME": "Lisa", let key2 = "AGE";
"AGE": 18, let key3 = "SALARY";
"SALARY": 100.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let promise = store.insert("EMPLOYEE", valueBucket, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE); let promise = store.insert("EMPLOYEE", valueBucket, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE);
promise.then((rowId) => { promise.then((rowId: number) => {
console.info(`Insert is successful, rowId = ${rowId}`); console.info(`Insert is successful, rowId = ${rowId}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Insert is failed, code is ${err.code},message is ${err.message}`); console.error(`Insert is failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -1856,27 +1893,43 @@ batchInsert(table: string, values: Array&lt;ValuesBucket&gt;, callback: AsyncCal ...@@ -1856,27 +1893,43 @@ batchInsert(table: string, values: Array&lt;ValuesBucket&gt;, callback: AsyncCal
**示例:** **示例:**
```js ```js
const valueBucket1 = { let key1 = "NAME";
"NAME": "Lisa", let key2 = "AGE";
"AGE": 18, let key3 = "SALARY";
"SALARY": 100.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]) let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
let value5 = "Jack";
let value6 = 19;
let value7 = 101.5;
let value8 = new Uint8Array([6, 7, 8, 9, 10]);
let value9 = "Tom";
let value10 = 20;
let value11 = 102.5;
let value12 = new Uint8Array([11, 12, 13, 14, 15]);
const valueBucket1: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
const valueBucket2 = { const valueBucket2: ValuesBucket = {
"NAME": "Jack", key1: value5,
"AGE": 19, key2: value6,
"SALARY": 101.5, key3: value7,
"CODES": new Uint8Array([6, 7, 8, 9, 10]) key4: value8,
}; };
const valueBucket3 = { const valueBucket3: ValuesBucket = {
"NAME": "Tom", key1: value9,
"AGE": 20, key2: value10,
"SALARY": 102.5, key3: value11,
"CODES": new Uint8Array([11, 12, 13, 14, 15]) key4: value12,
}; };
let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3); let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3);
store.batchInsert("EMPLOYEE", valueBuckets, function(err, insertNum) { store.batchInsert("EMPLOYEE", valueBuckets, (err, insertNum) => {
if (err) { if (err) {
console.error(`batchInsert is failed, code is ${err.code},message is ${err.message}`); console.error(`batchInsert is failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -1918,30 +1971,46 @@ batchInsert(table: string, values: Array&lt;ValuesBucket&gt;):Promise&lt;number& ...@@ -1918,30 +1971,46 @@ batchInsert(table: string, values: Array&lt;ValuesBucket&gt;):Promise&lt;number&
**示例:** **示例:**
```js ```js
const valueBucket1 = { let key1 = "NAME";
"NAME": "Lisa", let key2 = "AGE";
"AGE": 18, let key3 = "SALARY";
"SALARY": 100.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]) let value1 = "Lisa";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
let value5 = "Jack";
let value6 = 19;
let value7 = 101.5;
let value8 = new Uint8Array([6, 7, 8, 9, 10]);
let value9 = "Tom";
let value10 = 20;
let value11 = 102.5;
let value12 = new Uint8Array([11, 12, 13, 14, 15]);
const valueBucket1: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
const valueBucket2 = { const valueBucket2: ValuesBucket = {
"NAME": "Jack", key1: value5,
"AGE": 19, key2: value6,
"SALARY": 101.5, key3: value7,
"CODES": new Uint8Array([6, 7, 8, 9, 10]) key4: value8,
}; };
const valueBucket3 = { const valueBucket3: ValuesBucket = {
"NAME": "Tom", key1: value9,
"AGE": 20, key2: value10,
"SALARY": 102.5, key3: value11,
"CODES": new Uint8Array([11, 12, 13, 14, 15]) key4: value12,
}; };
let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3); let valueBuckets = new Array(valueBucket1, valueBucket2, valueBucket3);
let promise = store.batchInsert("EMPLOYEE", valueBuckets); let promise = store.batchInsert("EMPLOYEE", valueBuckets);
promise.then((insertNum) => { promise.then((insertNum: number) => {
console.info(`batchInsert is successful, the number of values that were inserted = ${insertNum}`); console.info(`batchInsert is successful, the number of values that were inserted = ${insertNum}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`batchInsert is failed, code is ${err.code},message is ${err.message}`); console.error(`batchInsert is failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -1974,11 +2043,19 @@ update(values: ValuesBucket, predicates: RdbPredicates, callback: AsyncCallback& ...@@ -1974,11 +2043,19 @@ update(values: ValuesBucket, predicates: RdbPredicates, callback: AsyncCallback&
**示例:** **示例:**
```js ```js
const valueBucket = { let key1 = "NAME";
"NAME": "Rose", let key2 = "AGE";
"AGE": 22, let key3 = "SALARY";
"SALARY": 200.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
...@@ -2020,15 +2097,23 @@ update(values: ValuesBucket, predicates: RdbPredicates, conflict: ConflictResolu ...@@ -2020,15 +2097,23 @@ update(values: ValuesBucket, predicates: RdbPredicates, conflict: ConflictResolu
**示例:** **示例:**
```js ```js
const valueBucket = { let key1 = "NAME";
"NAME": "Rose", let key2 = "AGE";
"AGE": 22, let key3 = "SALARY";
"SALARY": 200.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
store.update(valueBucket, predicates, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE, function (err, rows) { store.update(valueBucket, predicates, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE, (err, rows) => {
if (err) { if (err) {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2070,18 +2155,26 @@ update(values: ValuesBucket, predicates: RdbPredicates):Promise&lt;number&gt; ...@@ -2070,18 +2155,26 @@ update(values: ValuesBucket, predicates: RdbPredicates):Promise&lt;number&gt;
**示例:** **示例:**
```js ```js
const valueBucket = { let key1 = "NAME";
"NAME": "Rose", let key2 = "AGE";
"AGE": 22, let key3 = "SALARY";
"SALARY": 200.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.update(valueBucket, predicates); let promise = store.update(valueBucket, predicates);
promise.then(async (rows) => { promise.then(async (rows: Number) => {
console.info(`Updated row count: ${rows}`); console.info(`Updated row count: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2120,18 +2213,26 @@ update(values: ValuesBucket, predicates: RdbPredicates, conflict: ConflictResolu ...@@ -2120,18 +2213,26 @@ update(values: ValuesBucket, predicates: RdbPredicates, conflict: ConflictResolu
**示例:** **示例:**
```js ```js
const valueBucket = { let key1 = "NAME";
"NAME": "Rose", let key2 = "AGE";
"AGE": 22, let key3 = "SALARY";
"SALARY": 200.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.update(valueBucket, predicates, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE); let promise = store.update(valueBucket, predicates, relationalStore.ConflictResolution.ON_CONFLICT_REPLACE);
promise.then(async (rows) => { promise.then(async (rows: Number) => {
console.info(`Updated row count: ${rows}`); console.info(`Updated row count: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2170,15 +2271,23 @@ update(table: string, values: ValuesBucket, predicates: dataSharePredicates.Data ...@@ -2170,15 +2271,23 @@ update(table: string, values: ValuesBucket, predicates: dataSharePredicates.Data
```js ```js
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates'
const valueBucket = { let key1 = "NAME";
"NAME": "Rose", let key2 = "AGE";
"AGE": 22, let key3 = "SALARY";
"SALARY": 200.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
store.update("EMPLOYEE", valueBucket, predicates, function (err, rows) { store.update("EMPLOYEE", valueBucket, predicates, (err, rows) => {
if (err) { if (err) {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2226,18 +2335,26 @@ update(table: string, values: ValuesBucket, predicates: dataSharePredicates.Data ...@@ -2226,18 +2335,26 @@ update(table: string, values: ValuesBucket, predicates: dataSharePredicates.Data
```js ```js
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates'
const valueBucket = { let key1 = "NAME";
"NAME": "Rose", let key2 = "AGE";
"AGE": 22, let key3 = "SALARY";
"SALARY": 200.5, let key4 = "CODES";
"CODES": new Uint8Array([1, 2, 3, 4, 5]), let value1 = "Rose";
let value2 = 22;
let value3 = 200.5;
let value4 = new Uint8Array([1, 2, 3, 4, 5]);
const valueBucket: ValuesBucket = {
key1: value1,
key2: value2,
key3: value3,
key4: value4,
}; };
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.update("EMPLOYEE", valueBucket, predicates); let promise = store.update("EMPLOYEE", valueBucket, predicates);
promise.then(async (rows) => { promise.then(async (rows: Number) => {
console.info(`Updated row count: ${rows}`); console.info(`Updated row count: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Updated failed, code is ${err.code},message is ${err.message}`); console.error(`Updated failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2271,7 +2388,7 @@ delete(predicates: RdbPredicates, callback: AsyncCallback&lt;number&gt;):void ...@@ -2271,7 +2388,7 @@ delete(predicates: RdbPredicates, callback: AsyncCallback&lt;number&gt;):void
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
store.delete(predicates, function (err, rows) { store.delete(predicates, (err, rows) => {
if (err) { if (err) {
console.error(`Delete failed, code is ${err.code},message is ${err.message}`); console.error(`Delete failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2315,9 +2432,9 @@ delete(predicates: RdbPredicates):Promise&lt;number&gt; ...@@ -2315,9 +2432,9 @@ delete(predicates: RdbPredicates):Promise&lt;number&gt;
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.delete(predicates); let promise = store.delete(predicates);
promise.then((rows) => { promise.then((rows: Number) => {
console.info(`Delete rows: ${rows}`); console.info(`Delete rows: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete failed, code is ${err.code},message is ${err.message}`); console.error(`Delete failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2357,7 +2474,7 @@ delete(table: string, predicates: dataSharePredicates.DataSharePredicates, callb ...@@ -2357,7 +2474,7 @@ delete(table: string, predicates: dataSharePredicates.DataSharePredicates, callb
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates'
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
store.delete("EMPLOYEE", predicates, function (err, rows) { store.delete("EMPLOYEE", predicates, (err, rows) => {
if (err) { if (err) {
console.error(`Delete failed, code is ${err.code},message is ${err.message}`); console.error(`Delete failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2407,9 +2524,9 @@ import dataSharePredicates from '@ohos.data.dataSharePredicates' ...@@ -2407,9 +2524,9 @@ import dataSharePredicates from '@ohos.data.dataSharePredicates'
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Lisa"); predicates.equalTo("NAME", "Lisa");
let promise = store.delete("EMPLOYEE", predicates); let promise = store.delete("EMPLOYEE", predicates);
promise.then((rows) => { promise.then((rows: Number) => {
console.info(`Delete rows: ${rows}`); console.info(`Delete rows: ${rows}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Delete failed, code is ${err.code},message is ${err.message}`); console.error(`Delete failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2442,7 +2559,7 @@ query(predicates: RdbPredicates, callback: AsyncCallback&lt;ResultSet&gt;):void ...@@ -2442,7 +2559,7 @@ query(predicates: RdbPredicates, callback: AsyncCallback&lt;ResultSet&gt;):void
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
store.query(predicates, function (err, resultSet) { store.query(predicates, (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2490,7 +2607,7 @@ query(predicates: RdbPredicates, columns: Array&lt;string&gt;, callback: AsyncCa ...@@ -2490,7 +2607,7 @@ query(predicates: RdbPredicates, columns: Array&lt;string&gt;, callback: AsyncCa
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) { store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2544,7 +2661,7 @@ query(predicates: RdbPredicates, columns?: Array&lt;string&gt;):Promise&lt;Resul ...@@ -2544,7 +2661,7 @@ query(predicates: RdbPredicates, columns?: Array&lt;string&gt;):Promise&lt;Resul
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet: relationalStore.ResultSet) => {
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。 // resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while (resultSet.goToNextRow()) { while (resultSet.goToNextRow()) {
...@@ -2556,7 +2673,7 @@ promise.then((resultSet) => { ...@@ -2556,7 +2673,7 @@ promise.then((resultSet) => {
} }
// 释放数据集的内存 // 释放数据集的内存
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2595,7 +2712,7 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, callba ...@@ -2595,7 +2712,7 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, callba
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates'
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
store.query("EMPLOYEE", predicates, function (err, resultSet) { store.query("EMPLOYEE", predicates, (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2649,7 +2766,7 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, column ...@@ -2649,7 +2766,7 @@ query(table: string, predicates: dataSharePredicates.DataSharePredicates, column
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates'
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
store.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) { store.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2709,7 +2826,7 @@ import dataSharePredicates from '@ohos.data.dataSharePredicates' ...@@ -2709,7 +2826,7 @@ import dataSharePredicates from '@ohos.data.dataSharePredicates'
let predicates = new dataSharePredicates.DataSharePredicates(); let predicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo("NAME", "Rose"); predicates.equalTo("NAME", "Rose");
let promise = store.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query("EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => { promise.then((resultSet: relationalStore.ResultSet) => {
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。 // resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while (resultSet.goToNextRow()) { while (resultSet.goToNextRow()) {
...@@ -2721,7 +2838,7 @@ promise.then((resultSet) => { ...@@ -2721,7 +2838,7 @@ promise.then((resultSet) => {
} }
// 释放数据集的内存 // 释放数据集的内存
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2760,8 +2877,8 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ...@@ -2760,8 +2877,8 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
```js ```js
import deviceManager from '@ohos.distributedDeviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceId = null; let deviceId: string = null;
try { try {
dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify"); dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
...@@ -2773,12 +2890,8 @@ try { ...@@ -2773,12 +2890,8 @@ try {
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"], let promise = store.remoteQuery(deviceId, "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
function(err, resultSet) { promise.then((resultSet: relationalStore.ResultSet) => {
if (err) {
console.error(`Failed to remoteQuery, code is ${err.code},message is ${err.message}`);
return;
}
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。 // resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while (resultSet.goToNextRow()) { while (resultSet.goToNextRow()) {
...@@ -2790,8 +2903,9 @@ store.remoteQuery(deviceId, "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALAR ...@@ -2790,8 +2903,9 @@ store.remoteQuery(deviceId, "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALAR
} }
// 释放数据集的内存 // 释放数据集的内存
resultSet.close(); resultSet.close();
} }).catch((err: BusinessError) => {
) console.error(`Failed to remoteQuery, code is ${err.code},message is ${err.message}`);
})
``` ```
### remoteQuery ### remoteQuery
...@@ -2833,8 +2947,8 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ...@@ -2833,8 +2947,8 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A
```js ```js
import deviceManager from '@ohos.distributedDeviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceId = null; let deviceId: string = null;
try { try {
dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify"); dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
...@@ -2847,7 +2961,7 @@ try { ...@@ -2847,7 +2961,7 @@ try {
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"]);
promise.then((resultSet) => { promise.then((resultSet: relationalStore.ResultSet) => {
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。 // resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while (resultSet.goToNextRow()) { while (resultSet.goToNextRow()) {
...@@ -2859,7 +2973,7 @@ promise.then((resultSet) => { ...@@ -2859,7 +2973,7 @@ promise.then((resultSet) => {
} }
// 释放数据集的内存 // 释放数据集的内存
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Failed to remoteQuery, code is ${err.code},message is ${err.message}`); console.error(`Failed to remoteQuery, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -2890,7 +3004,7 @@ querySql(sql: string, callback: AsyncCallback&lt;ResultSet&gt;):void ...@@ -2890,7 +3004,7 @@ querySql(sql: string, callback: AsyncCallback&lt;ResultSet&gt;):void
**示例:** **示例:**
```js ```js
store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'", function (err, resultSet) { store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'", (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2936,7 +3050,7 @@ querySql(sql: string, bindArgs: Array&lt;ValueType&gt;, callback: AsyncCallback& ...@@ -2936,7 +3050,7 @@ querySql(sql: string, bindArgs: Array&lt;ValueType&gt;, callback: AsyncCallback&
**示例:** **示例:**
```js ```js
store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?", ['sanguo'], function (err, resultSet) { store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?", ['sanguo'], (err, resultSet) => {
if (err) { if (err) {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -2988,7 +3102,7 @@ querySql(sql: string, bindArgs?: Array&lt;ValueType&gt;):Promise&lt;ResultSet&gt ...@@ -2988,7 +3102,7 @@ querySql(sql: string, bindArgs?: Array&lt;ValueType&gt;):Promise&lt;ResultSet&gt
```js ```js
let promise = store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'"); let promise = store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'");
promise.then((resultSet) => { promise.then((resultSet: relationalStore.ResultSet) => {
console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`); console.info(`ResultSet column names: ${resultSet.columnNames}, column count: ${resultSet.columnCount}`);
// resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。 // resultSet是一个数据集合的游标,默认指向第-1个记录,有效的数据从0开始。
while (resultSet.goToNextRow()) { while (resultSet.goToNextRow()) {
...@@ -3000,7 +3114,7 @@ promise.then((resultSet) => { ...@@ -3000,7 +3114,7 @@ promise.then((resultSet) => {
} }
// 释放数据集的内存 // 释放数据集的内存
resultSet.close(); resultSet.close();
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Query failed, code is ${err.code},message is ${err.message}`); console.error(`Query failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3033,7 +3147,7 @@ executeSql(sql: string, callback: AsyncCallback&lt;void&gt;):void ...@@ -3033,7 +3147,7 @@ executeSql(sql: string, callback: AsyncCallback&lt;void&gt;):void
```js ```js
const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'" const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'"
store.executeSql(SQL_DELETE_TABLE, function(err) { store.executeSql(SQL_DELETE_TABLE, (err) => {
if (err) { if (err) {
console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`); console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3071,7 +3185,7 @@ executeSql(sql: string, bindArgs: Array&lt;ValueType&gt;, callback: AsyncCallbac ...@@ -3071,7 +3185,7 @@ executeSql(sql: string, bindArgs: Array&lt;ValueType&gt;, callback: AsyncCallbac
```js ```js
const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = ?" const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = ?"
store.executeSql(SQL_DELETE_TABLE, ['zhangsan'], function(err) { store.executeSql(SQL_DELETE_TABLE, ['zhangsan'], (err) => {
if (err) { if (err) {
console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`); console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3117,7 +3231,7 @@ const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'" ...@@ -3117,7 +3231,7 @@ const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'"
let promise = store.executeSql(SQL_DELETE_TABLE); let promise = store.executeSql(SQL_DELETE_TABLE);
promise.then(() => { promise.then(() => {
console.info(`Delete table done.`); console.info(`Delete table done.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`); console.error(`ExecuteSql failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3151,12 +3265,12 @@ getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[], call ...@@ -3151,12 +3265,12 @@ getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[], call
```js ```js
let PRIKey = [1, 4, 2, 3]; let PRIKey = [1, 4, 2, 3];
store.getModifyTime("cloud_tasks", "uuid", PRIKey, function (err, modifyTime) { store.getModifyTime("cloud_tasks", "uuid", PRIKey, (err, modifyTime: relationalStore.ModifyTime)=> {
if (err) { if (err) {
console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`); console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
let size = modifyTime.size(); let size = modifyTime.size;
}); });
``` ```
...@@ -3194,9 +3308,9 @@ getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[]): Pro ...@@ -3194,9 +3308,9 @@ getModifyTime(table: string, columnName: string, primaryKeys: PRIKeyType[]): Pro
```js ```js
let PRIKey = [1, 2, 3]; let PRIKey = [1, 2, 3];
store.getModifyTime("cloud_tasks", "uuid", PRIKey).then((modifyTime) => { store.getModifyTime("cloud_tasks", "uuid", PRIKey).then((modifyTime: relationalStore.ModifyTime) => {
let size = modifyTime.size(); let size = modifyTime.size;
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`); console.error(`getModifyTime failed, code is ${err.code},message is ${err.message}`);
}); });
``` ```
...@@ -3223,21 +3337,29 @@ beginTransaction():void ...@@ -3223,21 +3337,29 @@ beginTransaction():void
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { let key1 = "name";
let key2 = "age";
let key3 = "SALARY";
let key4 = "blobType";
let value1 = "Lisi";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3]);
const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(context, STORE_CONFIG, async function (err, store) { relationalStore.getRdbStore(this.context, STORE_CONFIG, async (err, store) => {
if (err) { if (err) {
console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
store.beginTransaction(); store.beginTransaction();
const valueBucket = { const valueBucket: ValuesBucket = {
"name": "lisi", key1: value1,
"age": 18, key2: value2,
"salary": 100.5, key3: value3,
"blobType": new Uint8Array([1, 2, 3]), key4: value4,
}; };
await store.insert("test", valueBucket); await store.insert("test", valueBucket);
store.commit(); store.commit();
...@@ -3257,21 +3379,29 @@ commit():void ...@@ -3257,21 +3379,29 @@ commit():void
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { let key1 = "name";
let key2 = "age";
let key3 = "SALARY";
let key4 = "blobType";
let value1 = "Lisi";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3]);
const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(context, STORE_CONFIG, async function (err, store) { relationalStore.getRdbStore(this.context, STORE_CONFIG, async (err, store) => {
if (err) { if (err) {
console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
store.beginTransaction(); store.beginTransaction();
const valueBucket = { const valueBucket: ValuesBucket = {
"name": "lisi", key1: value1,
"age": 18, key2: value2,
"salary": 100.5, key3: value3,
"blobType": new Uint8Array([1, 2, 3]), key4: value4,
}; };
await store.insert("test", valueBucket); await store.insert("test", valueBucket);
store.commit(); store.commit();
...@@ -3291,23 +3421,30 @@ rollBack():void ...@@ -3291,23 +3421,30 @@ rollBack():void
```js ```js
import featureAbility from '@ohos.ability.featureAbility' import featureAbility from '@ohos.ability.featureAbility'
let context = featureAbility.getContext(); let context = featureAbility.getContext();
const STORE_CONFIG = { let key1 = "name";
let key2 = "age";
let key3 = "SALARY";
let key4 = "blobType";
let value1 = "Lisi";
let value2 = 18;
let value3 = 100.5;
let value4 = new Uint8Array([1, 2, 3]);
const STORE_CONFIG: relationalStore.StoreConfig = {
name: "RdbTest.db", name: "RdbTest.db",
securityLevel: relationalStore.SecurityLevel.S1 securityLevel: relationalStore.SecurityLevel.S1
}; };
relationalStore.getRdbStore(context, STORE_CONFIG, async function (err, store) { relationalStore.getRdbStore(this.context, STORE_CONFIG, async (err, store) => {
if (err) { if (err) {
console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`); console.error(`GetRdbStore failed, code is ${err.code},message is ${err.message}`);
return; return;
} }
try { try {
store.beginTransaction() store.beginTransaction()
const valueBucket = { const valueBucket: ValuesBucket = {
"id": 1, key1: value1,
"name": "lisi", key2: value2,
"age": 18, key3: value3,
"salary": 100.5, key4: value4,
"blobType": new Uint8Array([1, 2, 3]),
}; };
await store.insert("test", valueBucket); await store.insert("test", valueBucket);
store.commit(); store.commit();
...@@ -3344,7 +3481,7 @@ backup(destName:string, callback: AsyncCallback&lt;void&gt;):void ...@@ -3344,7 +3481,7 @@ backup(destName:string, callback: AsyncCallback&lt;void&gt;):void
**示例:** **示例:**
```js ```js
store.backup("dbBackup.db", function(err) { store.backup("dbBackup.db", (err) => {
if (err) { if (err) {
console.error(`Backup failed, code is ${err.code},message is ${err.message}`); console.error(`Backup failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3387,7 +3524,7 @@ backup(destName:string): Promise&lt;void&gt; ...@@ -3387,7 +3524,7 @@ backup(destName:string): Promise&lt;void&gt;
let promiseBackup = store.backup("dbBackup.db"); let promiseBackup = store.backup("dbBackup.db");
promiseBackup.then(()=>{ promiseBackup.then(()=>{
console.info(`Backup success.`); console.info(`Backup success.`);
}).catch((err)=>{ }).catch((err: BusinessError)=>{
console.error(`Backup failed, code is ${err.code},message is ${err.message}`); console.error(`Backup failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3418,7 +3555,7 @@ restore(srcName:string, callback: AsyncCallback&lt;void&gt;):void ...@@ -3418,7 +3555,7 @@ restore(srcName:string, callback: AsyncCallback&lt;void&gt;):void
**示例:** **示例:**
```js ```js
store.restore("dbBackup.db", function(err) { store.restore("dbBackup.db", (err) => {
if (err) { if (err) {
console.error(`Restore failed, code is ${err.code},message is ${err.message}`); console.error(`Restore failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3461,7 +3598,7 @@ restore(srcName:string): Promise&lt;void&gt; ...@@ -3461,7 +3598,7 @@ restore(srcName:string): Promise&lt;void&gt;
let promiseRestore = store.restore("dbBackup.db"); let promiseRestore = store.restore("dbBackup.db");
promiseRestore.then(()=>{ promiseRestore.then(()=>{
console.info(`Restore success.`); console.info(`Restore success.`);
}).catch((err)=>{ }).catch((err: BusinessError)=>{
console.error(`Restore failed, code is ${err.code},message is ${err.message}`); console.error(`Restore failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3494,7 +3631,7 @@ setDistributedTables(tables: Array&lt;string&gt;, callback: AsyncCallback&lt;voi ...@@ -3494,7 +3631,7 @@ setDistributedTables(tables: Array&lt;string&gt;, callback: AsyncCallback&lt;voi
**示例:** **示例:**
```js ```js
store.setDistributedTables(["EMPLOYEE"], function (err) { store.setDistributedTables(["EMPLOYEE"], (err) => {
if (err) { if (err) {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3539,7 +3676,7 @@ store.setDistributedTables(["EMPLOYEE"], function (err) { ...@@ -3539,7 +3676,7 @@ store.setDistributedTables(["EMPLOYEE"], function (err) {
let promise = store.setDistributedTables(["EMPLOYEE"]); let promise = store.setDistributedTables(["EMPLOYEE"]);
promise.then(() => { promise.then(() => {
console.info(`SetDistributedTables successfully.`); console.info(`SetDistributedTables successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3574,7 +3711,7 @@ setDistributedTables(tables: Array&lt;string&gt;, type: DistributedType, callbac ...@@ -3574,7 +3711,7 @@ setDistributedTables(tables: Array&lt;string&gt;, type: DistributedType, callbac
**示例:** **示例:**
```js ```js
store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, function (err) { store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, (err) => {
if (err) { if (err) {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3618,7 +3755,7 @@ setDistributedTables(tables: Array&lt;string&gt;, type: DistributedType, config: ...@@ -3618,7 +3755,7 @@ setDistributedTables(tables: Array&lt;string&gt;, type: DistributedType, config:
```js ```js
store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, { store.setDistributedTables(["EMPLOYEE"], relationalStore.DistributedType.DISTRIBUTED_CLOUD, {
autoSync: true autoSync: true
}, function (err) { },(err) => {
if (err) { if (err) {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3668,7 +3805,7 @@ let promise = store.setDistributedTables(["EMPLOYEE"], relationalStore.Distribut ...@@ -3668,7 +3805,7 @@ let promise = store.setDistributedTables(["EMPLOYEE"], relationalStore.Distribut
}); });
promise.then(() => { promise.then(() => {
console.info(`SetDistributedTables successfully.`); console.info(`SetDistributedTables successfully.`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`); console.error(`SetDistributedTables failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3707,8 +3844,8 @@ obtainDistributedTableName(device: string, table: string, callback: AsyncCallbac ...@@ -3707,8 +3844,8 @@ obtainDistributedTableName(device: string, table: string, callback: AsyncCallbac
```js ```js
import deviceManager from '@ohos.distributedDeviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceId = null; let deviceId: string = null;
try { try {
dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify"); dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
...@@ -3718,7 +3855,7 @@ try { ...@@ -3718,7 +3855,7 @@ try {
console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message); console.error("createDeviceManager errCode:" + err.code + ",errMessage:" + err.message);
} }
store.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableName) { store.obtainDistributedTableName(deviceId, "EMPLOYEE", (err, tableName) => {
if (err) { if (err) {
console.error(`ObtainDistributedTableName failed, code is ${err.code},message is ${err.message}`); console.error(`ObtainDistributedTableName failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3766,8 +3903,8 @@ store.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableName) ...@@ -3766,8 +3903,8 @@ store.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableName)
```js ```js
import deviceManager from '@ohos.distributedDeviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceId = null; let deviceId: string = null;
try { try {
dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify"); dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
...@@ -3778,9 +3915,9 @@ try { ...@@ -3778,9 +3915,9 @@ try {
} }
let promise = store.obtainDistributedTableName(deviceId, "EMPLOYEE"); let promise = store.obtainDistributedTableName(deviceId, "EMPLOYEE");
promise.then((tableName) => { promise.then((tableName: string) => {
console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`); console.info(`ObtainDistributedTableName successfully, tableName= ${tableName}`);
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`ObtainDistributedTableName failed, code is ${err.code},message is ${err.message}`); console.error(`ObtainDistributedTableName failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3815,13 +3952,13 @@ sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback&lt;Array ...@@ -3815,13 +3952,13 @@ sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback&lt;Array
```js ```js
import deviceManager from '@ohos.distributedDeviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceIds = []; let deviceIds: Array<string> = [];
try { try {
dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify"); dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
let devices = dmInstance.getAvailableDeviceListSync(); let devices = dmInstance.getAvailableDeviceListSync();
for (var i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].networkId; deviceIds[i] = devices[i].networkId;
} }
} catch (err) { } catch (err) {
...@@ -3830,7 +3967,7 @@ try { ...@@ -3830,7 +3967,7 @@ try {
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.inDevices(deviceIds); predicates.inDevices(deviceIds);
store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, result) { store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, (err, result) => {
if (err) { if (err) {
console.error(`Sync failed, code is ${err.code},message is ${err.message}`); console.error(`Sync failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3877,13 +4014,13 @@ store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, r ...@@ -3877,13 +4014,13 @@ store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, r
```js ```js
import deviceManager from '@ohos.distributedDeviceManager'; import deviceManager from '@ohos.distributedDeviceManager';
let dmInstance = null; let dmInstance: deviceManager.DeviceManager = null;
let deviceIds = []; let deviceIds: Array<string> = [];
try { try {
dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify"); dmInstance = deviceManager.createDeviceManager("com.example.appdatamgrverify");
let devices = dmInstance.getAvailableDeviceListSync(); let devices = dmInstance.getAvailableDeviceListSync();
for (var i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
deviceIds[i] = devices[i].networkId; deviceIds[i] = devices[i].networkId;
} }
} catch (err) { } catch (err) {
...@@ -3893,12 +4030,12 @@ try { ...@@ -3893,12 +4030,12 @@ try {
let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); let predicates = new relationalStore.RdbPredicates('EMPLOYEE');
predicates.inDevices(deviceIds); 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: Object[][]) =>{
console.info(`Sync done.`); console.info(`Sync done.`);
for (let i = 0; i < result.length; i++) { for (let i = 0; i < result.length; i++) {
console.info(`device= ${result[i][0]}, status= ${result[i][1]}`); console.info(`device= ${result[i][0]}, status= ${result[i][1]}`);
} }
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`Sync failed, code is ${err.code},message is ${err.message}`); console.error(`Sync failed, code is ${err.code},message is ${err.message}`);
}) })
``` ```
...@@ -3924,9 +4061,9 @@ cloudSync(mode: SyncMode, progress: Callback&lt;ProgressDetails&gt;, callback: A ...@@ -3924,9 +4061,9 @@ cloudSync(mode: SyncMode, progress: Callback&lt;ProgressDetails&gt;, callback: A
**示例:** **示例:**
```js ```js
store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, function (progressDetails) { store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, (progressDetails) => {
console.info(`Progess: ${progressDetails}`); console.info(`Progess: ${progressDetails}`);
}, function (err) { }, (err) =>{
if (err) { if (err) {
console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`); console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -3961,13 +4098,11 @@ cloudSync(mode: SyncMode, progress: Callback&lt;ProgressDetails&gt;): Promise&lt ...@@ -3961,13 +4098,11 @@ cloudSync(mode: SyncMode, progress: Callback&lt;ProgressDetails&gt;): Promise&lt
**示例:** **示例:**
```js ```js
function progress(progressDetail) { store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, (progressDetail: relationalStore.ProgressDetails) => {
console.info(`progress: ${progressDetail}`); console.info(`progress: ${progressDetail}`);
} }).then(() => {
store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, progress).then(() => {
console.info('Cloud sync succeeded'); console.info('Cloud sync succeeded');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`); console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`);
}); });
``` ```
...@@ -3995,9 +4130,9 @@ cloudSync(mode: SyncMode, tables: string[], progress: Callback&lt;ProgressDetail ...@@ -3995,9 +4130,9 @@ cloudSync(mode: SyncMode, tables: string[], progress: Callback&lt;ProgressDetail
```js ```js
const tables = ["table1", "table2"]; const tables = ["table1", "table2"];
store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, tables, function (progressDetails) { store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, tables, (progressDetail: relationalStore.ProgressDetails) => {
console.info(`Progess: ${progressDetails}`); console.info(`Progess: ${progressDetails}`);
}, function (err) { }, (err) => {
if (err) { if (err) {
console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`); console.error(`Cloud sync failed, code is ${err.code},message is ${err.message}`);
return; return;
...@@ -4034,13 +4169,12 @@ cloudSync(mode: SyncMode, tables: string[], progress: Callback&lt;ProgressDetail ...@@ -4034,13 +4169,12 @@ cloudSync(mode: SyncMode, tables: string[], progress: Callback&lt;ProgressDetail
```js ```js
const tables = ["table1", "table2"]; const tables = ["table1", "table2"];
function progress(progressDetail) {
console.info(`progress: ${progressDetail}`);
}
store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, tables, progress).then(() => { store.cloudSync(relationalStore.SyncMode.SYNC_MODE_CLOUD_FIRST, (progressDetail: relationalStore.ProgressDetails) => {
console.info(`progress: ${progressDetail}`);
}).then(() => {
console.info('Cloud sync succeeded'); console.info('Cloud sync succeeded');
}).catch((err) => { }).catch((err: BusinessError) => {
console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`); console.error(`cloudSync failed, code is ${err.code},message is ${err.message}`);
}); });
``` ```
...@@ -4064,13 +4198,14 @@ on(event: 'dataChange', type: SubscribeType, observer: Callback&lt;Array&lt;stri ...@@ -4064,13 +4198,14 @@ on(event: 'dataChange', type: SubscribeType, observer: Callback&lt;Array&lt;stri
**示例:** **示例:**
```js ```js
function storeObserver(devices) { try {
store.on('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, (storeObserver) => {
let devices: string;
for (let i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`); console.info(`device= ${devices[i]} data changed`);
} }
} }
try { );
store.on('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver);
} catch (err) { } catch (err) {
console.error(`Register observer failed, code is ${err.code},message is ${err.message}`); console.error(`Register observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4135,11 +4270,10 @@ on(event: string, interProcess: boolean, observer: Callback\<void>): void ...@@ -4135,11 +4270,10 @@ on(event: string, interProcess: boolean, observer: Callback\<void>): void
**示例:** **示例:**
```js ```js
function storeObserver() {
console.info(`storeObserver`);
}
try { try {
store.on('storeObserver', false, storeObserver); store.on('storeObserver', false, (storeObserver) => {
console.info(`storeObserver`);
});
} catch (err) { } catch (err) {
console.error(`Register observer failed, code is ${err.code},message is ${err.message}`); console.error(`Register observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4164,13 +4298,14 @@ off(event:'dataChange', type: SubscribeType, observer: Callback&lt;Array&lt;stri ...@@ -4164,13 +4298,14 @@ off(event:'dataChange', type: SubscribeType, observer: Callback&lt;Array&lt;stri
**示例:** **示例:**
``` ```
function storeObserver(devices) { try {
store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, (storeObserver) => {
let devices: string;
for (let i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`); console.info(`device= ${devices[i]} data changed`);
} }
} }
try { );
store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver);
} catch (err) { } catch (err) {
console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`); console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4195,13 +4330,14 @@ off(event:'dataChange', type: SubscribeType, observer?: Callback&lt;Array&lt;str ...@@ -4195,13 +4330,14 @@ off(event:'dataChange', type: SubscribeType, observer?: Callback&lt;Array&lt;str
**示例:** **示例:**
```js ```js
function storeObserver(devices) { try {
store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, (storeObserver) => {
let devices: string;
for (let i = 0; i < devices.length; i++) { for (let i = 0; i < devices.length; i++) {
console.info(`device= ${devices[i]} data changed`); console.info(`device= ${devices[i]} data changed`);
} }
} }
try { );
store.off('dataChange', relationalStore.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver);
} catch (err) { } catch (err) {
console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`); console.error(`Unregister observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4235,11 +4371,11 @@ off(event: string, interProcess: boolean, observer?: Callback\<void>): void ...@@ -4235,11 +4371,11 @@ off(event: string, interProcess: boolean, observer?: Callback\<void>): void
**示例:** **示例:**
```js ```js
function storeObserver() {
console.info(`storeObserver`);
}
try { try {
store.off('storeObserver', false, storeObserver); store.off('storeObserver', false, (storeObserver) => {
console.info(`storeObserver`);
}
);
} catch (err) { } catch (err) {
console.error(`Register observer failed, code is ${err.code},message is ${err.message}`); console.error(`Register observer failed, code is ${err.code},message is ${err.message}`);
} }
...@@ -4283,11 +4419,11 @@ store.emit('storeObserver'); ...@@ -4283,11 +4419,11 @@ store.emit('storeObserver');
首先需要获取resultSet对象。 首先需要获取resultSet对象。
```js ```js
let resultSet = null; let resultSet: relationalStore.ResultSet = null;
let predicates = new relationalStore.RdbPredicates("EMPLOYEE"); let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
predicates.equalTo("AGE", 18); predicates.equalTo("AGE", 18);
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((result) => { promise.then((result: relationalStore.ResultSet) => {
resultSet = result; resultSet = result;
console.info(`resultSet columnNames: ${resultSet.columnNames}`); console.info(`resultSet columnNames: ${resultSet.columnNames}`);
console.info(`resultSet columnCount: ${resultSet.columnCount}`); console.info(`resultSet columnCount: ${resultSet.columnCount}`);
...@@ -4341,7 +4477,6 @@ getColumnIndex(columnName: string): number ...@@ -4341,7 +4477,6 @@ getColumnIndex(columnName: string): number
**示例:** **示例:**
```js ```js
resultSet.goToFirstRow();
const id = resultSet.getLong(resultSet.getColumnIndex("ID")); const id = resultSet.getLong(resultSet.getColumnIndex("ID"));
const name = resultSet.getString(resultSet.getColumnIndex("NAME")); const name = resultSet.getString(resultSet.getColumnIndex("NAME"));
const age = resultSet.getLong(resultSet.getColumnIndex("AGE")); const age = resultSet.getLong(resultSet.getColumnIndex("AGE"));
...@@ -4415,14 +4550,7 @@ goTo(offset:number): boolean ...@@ -4415,14 +4550,7 @@ goTo(offset:number): boolean
**示例:** **示例:**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise= store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goTo(1); resultSet.goTo(1);
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToRow ### goToRow
...@@ -4456,14 +4584,7 @@ goToRow(position: number): boolean ...@@ -4456,14 +4584,7 @@ goToRow(position: number): boolean
**示例:** **示例:**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToRow(5); resultSet.goToRow(5);
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToFirstRow ### goToFirstRow
...@@ -4492,14 +4613,7 @@ goToFirstRow(): boolean ...@@ -4492,14 +4613,7 @@ goToFirstRow(): boolean
**示例:** **示例:**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToFirstRow(); resultSet.goToFirstRow();
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToLastRow ### goToLastRow
...@@ -4527,14 +4641,7 @@ goToLastRow(): boolean ...@@ -4527,14 +4641,7 @@ goToLastRow(): boolean
**示例:** **示例:**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToLastRow(); resultSet.goToLastRow();
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToNextRow ### goToNextRow
...@@ -4562,14 +4669,7 @@ goToNextRow(): boolean ...@@ -4562,14 +4669,7 @@ goToNextRow(): boolean
**示例:** **示例:**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToNextRow(); resultSet.goToNextRow();
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### goToPreviousRow ### goToPreviousRow
...@@ -4597,14 +4697,7 @@ goToPreviousRow(): boolean ...@@ -4597,14 +4697,7 @@ goToPreviousRow(): boolean
**示例:** **示例:**
```js ```js
let predicates = new relationalStore.RdbPredicates("EMPLOYEE");
let promise = store.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promise.then((resultSet) => {
resultSet.goToPreviousRow(); resultSet.goToPreviousRow();
resultSet.close();
}).catch((err) => {
console.error(`query failed, code is ${err.code},message is ${err.message}`);
});
``` ```
### getBlob ### getBlob
...@@ -4857,13 +4950,7 @@ close(): void ...@@ -4857,13 +4950,7 @@ close(): void
**示例:** **示例:**
```js ```js
let predicatesClose = new relationalStore.RdbPredicates("EMPLOYEE");
let promiseClose = store.query(predicatesClose, ["ID", "NAME", "AGE", "SALARY", "CODES"]);
promiseClose.then((resultSet) => {
resultSet.close(); resultSet.close();
}).catch((err) => {
console.error(`resultset close failed, code is ${err.code},message is ${err.message}`);
});
``` ```
**错误码:** **错误码:**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册