js-apis-data-preferences.md 35.8 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.data.preferences (首选项)
P
PaDoBoo 已提交
2

3 4 5
首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。

数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。
P
PaDoBoo 已提交
6 7


P
PaDaBoo 已提交
8
> **说明:**
9
>
10
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
P
PaDoBoo 已提交
11 12 13 14


## 导入模块

15
```js
16
import data_preferences from '@ohos.data.preferences';
P
PaDoBoo 已提交
17 18
```

G
ge-yafang 已提交
19
## 常量
P
PaDoBoo 已提交
20

21
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
22

23 24
| 名称             | 参数类型 | 可读 | 可写 | 说明                                    |
| ---------------- | -------- | ---- | ---- | --------------------------------------- |
25 26
| MAX_KEY_LENGTH   | number   | 是   | 否   | Key的最大长度限制,需小于80个字节。     |
| MAX_VALUE_LENGTH | number   | 是   | 否   | Value的最大长度限制,需小于8192个字节。 |
P
PaDoBoo 已提交
27 28


29
## data_preferences.getPreferences
P
PaDoBoo 已提交
30

P
PaDaBoo 已提交
31
getPreferences(context: Context, name: string, callback: AsyncCallback<Preferences>): void
P
PaDoBoo 已提交
32

33
获取Preferences实例,使用callback异步回调。
P
PaDaBoo 已提交
34

P
PaDaBoo 已提交
35
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
36

G
ge-yafang 已提交
37
**参数:**
38 39 40

| 参数名   | 类型                                             | 必填 | 说明                                                         |
| -------- | ------------------------------------------------ | ---- | ------------------------------------------------------------ |
Z
zhongjianfei 已提交
41
| context  | Context            | 是   | 应用上下文。<br>FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。                                                 |
42 43
| name     | string                                           | 是   | Preferences实例的名称。                                      |
| callback | AsyncCallback&lt;[Preferences](#preferences)&gt; | 是   | 回调函数。当获取Preferences实例成功,err为undefined,返回Preferences实例;否则err为错误码。 |
P
PaDoBoo 已提交
44

G
ge-yafang 已提交
45
**示例:**
46

47 48
FA模型示例:

49
```js
50
// 获取context
51 52 53
import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext();
let preferences = null;
D
duanweiling 已提交
54

D
duanweiling 已提交
55
try {
D
duanweiling 已提交
56 57
    data_preferences.getPreferences(context, 'mystore', function (err, val) {
        if (err) {
D
duanweiling 已提交
58 59 60 61 62
	        console.info("Failed to get preferences. code =" + err.code + ", message =" + err.message);
	        return;
	    }
	    console.info("Succeeded in getting preferences.");
	})
D
duanweiling 已提交
63
} catch (err) {
D
duanweiling 已提交
64
    console.info("Failed to get preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
65
}
P
PaDaBoo 已提交
66
```
P
PaDoBoo 已提交
67

68 69 70 71
Stage模型示例:

```ts
// 获取context
72 73
import UIAbility from '@ohos.app.ability.UIAbility';

74
let context = null;
75 76

class EntryAbility extends UIAbility {
77
    onWindowStageCreate(windowStage){
78
        context = this.context;
79 80 81
    }
}

82
let preferences = null;
D
duanweiling 已提交
83
try {
D
duanweiling 已提交
84
    data_preferences.getPreferences(context, 'mystore', function (err, val) {
D
duanweiling 已提交
85 86 87 88 89 90
	    if (err) {
	        console.info("Failed to get preferences. code =" + err.code + ", message =" + err.message);
	        return;
	    }
	    console.info("Succeeded in getting preferences.");
	})
D
duanweiling 已提交
91
} catch (err) {
D
duanweiling 已提交
92
	console.info("Failed to get preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
93
}
94
```
P
PaDoBoo 已提交
95

96
## data_preferences.getPreferences
P
PaDoBoo 已提交
97

P
PaDaBoo 已提交
98
getPreferences(context: Context, name: string): Promise&lt;Preferences&gt;
P
PaDoBoo 已提交
99

100
获取Preferences实例,使用Promise异步回调。
P
PaDoBoo 已提交
101

P
PaDaBoo 已提交
102
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
103

G
ge-yafang 已提交
104
**参数:**
105 106 107

| 参数名  | 类型                                  | 必填 | 说明                    |
| ------- | ------------------------------------- | ---- | ----------------------- |
Z
zhongjianfei 已提交
108
| context | Context | 是   | 应用上下文。<br>FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。            |
109
| name    | string                                | 是   | Preferences实例的名称。 |
P
PaDoBoo 已提交
110

G
ge-yafang 已提交
111
**返回值:**
112

113 114 115
| 类型                                       | 说明                               |
| ------------------------------------------ | ---------------------------------- |
| Promise&lt;[Preferences](#preferences)&gt; | Promise对象,返回Preferences实例。 |
P
PaDoBoo 已提交
116

G
ge-yafang 已提交
117
**示例:**
118

119 120
FA模型示例:

121
```js
122
// 获取context
123 124
import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext();
125

D
duanweiling 已提交
126
let preferences = null;
D
duanweiling 已提交
127
try {
D
duanweiling 已提交
128 129
    let promise = data_preferences.getPreferences(context, 'mystore');
    promise.then((object) => {
D
duanweiling 已提交
130 131
        preferences = object;
        console.info("Succeeded in getting preferences.");
D
duanweiling 已提交
132
    }).catch((err) => {
D
duanweiling 已提交
133
        console.log("Failed to get preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
134 135
    })
} catch(err) {
D
duanweiling 已提交
136
    console.log("Failed to get preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
137
}
P
PaDaBoo 已提交
138
```
P
PaDoBoo 已提交
139

140 141 142 143
Stage模型示例:

```ts
// 获取context
144 145
import UIAbility from '@ohos.app.ability.UIAbility';

146
let context = null;
147 148

class EntryAbility extends UIAbility {
149
    onWindowStageCreate(windowStage){
150
        context = this.context;
151 152 153
    }
}

D
duanweiling 已提交
154
let preferences = null;
D
duanweiling 已提交
155
try {
D
duanweiling 已提交
156 157
    let promise = data_preferences.getPreferences(context, 'mystore');
    promise.then((object) => {
D
duanweiling 已提交
158 159
        preferences = object;
        console.info("Succeeded in getting preferences.");
D
duanweiling 已提交
160
    }).catch((err) => {
D
duanweiling 已提交
161
        console.log("Failed to get preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
162 163
    })
} catch(err) {
D
duanweiling 已提交
164
    console.log("Failed to get preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
165
}
166
```
P
PaDoBoo 已提交
167

168
## data_preferences.deletePreferences
P
PaDoBoo 已提交
169

170
deletePreferences(context: Context, name: string, callback: AsyncCallback&lt;void&gt;): void
P
PaDoBoo 已提交
171

172 173 174
从内存中移除指定的Preferences实例,使用callback异步回调。

若Preferences实例有对应的持久化文件,则同时删除其持久化文件。
175

176
调用该接口后,应用不允许再使用该Preferences实例进行数据操作,否则会出现数据一致性问题。
P
PaDoBoo 已提交
177

P
PaDaBoo 已提交
178
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
179

G
ge-yafang 已提交
180
**参数:**
181

182 183
| 参数名   | 类型                                  | 必填 | 说明                                                 |
| -------- | ------------------------------------- | ---- | ---------------------------------------------------- |
Z
zhongjianfei 已提交
184
| context  | Context | 是   | 应用上下文。<br>FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。                                         |
185
| name     | string                                | 是   | Preferences实例的名称。                              |
186
| callback | AsyncCallback&lt;void&gt;             | 是   | 回调函数。当移除成功,err为undefined,否则为错误码。 |
P
PaDoBoo 已提交
187

D
duanweiling 已提交
188 189 190 191 192 193 194 195
**错误码:**

以下错误码的详细介绍请参见[首选项错误码](../errorcodes/errorcode-preferences.md)

| 错误码ID | 错误信息                       |
| -------- | ------------------------------|
| 15500010 | Failed to delete preferences. |

G
ge-yafang 已提交
196
**示例:**
197

198 199
FA模型示例:

200
```js
201
// 获取context
202 203
import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext();
204

D
duanweiling 已提交
205
try {
D
duanweiling 已提交
206
    data_preferences.deletePreferences(context, 'mystore', function (err, val) {
D
duanweiling 已提交
207
        if (err) {
D
duanweiling 已提交
208 209
            console.info("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
            return;
D
duanweiling 已提交
210
        }
D
duanweiling 已提交
211
        console.info("Succeeded in deleting preferences." );
D
duanweiling 已提交
212 213
    })
} catch (err) {
D
duanweiling 已提交
214
    console.info("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
215
}
P
PaDaBoo 已提交
216
```
P
PaDoBoo 已提交
217

218 219 220 221
Stage模型示例:

```ts
// 获取context
222 223
import UIAbility from '@ohos.app.ability.UIAbility';

224
let context = null;
225 226

class EntryAbility extends UIAbility {
227
    onWindowStageCreate(windowStage){
228
        context = this.context;
229 230 231
    }
}

D
duanweiling 已提交
232
try {
D
duanweiling 已提交
233
    data_preferences.deletePreferences(context, 'mystore', function (err, val) {
D
duanweiling 已提交
234
        if (err) {
D
duanweiling 已提交
235 236
            console.info("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
            return;
D
duanweiling 已提交
237
        }
D
duanweiling 已提交
238
        console.info("Succeeded in deleting preferences." );
D
duanweiling 已提交
239 240
    })
} catch (err) {
D
duanweiling 已提交
241
    console.info("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
242
}
243
```
P
PaDoBoo 已提交
244

245
## data_preferences.deletePreferences
P
PaDoBoo 已提交
246

P
PaDaBoo 已提交
247
deletePreferences(context: Context, name: string): Promise&lt;void&gt;
P
PaDoBoo 已提交
248

249 250 251
从内存中移除指定的Preferences实例,使用Promise异步回调。

若Preferences实例有对应的持久化文件,则同时删除其持久化文件。
252

253
调用该接口后,应用不允许再使用该Preferences实例进行数据操作,否则会出现数据一致性问题。
P
PaDoBoo 已提交
254

P
PaDaBoo 已提交
255
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
256

G
ge-yafang 已提交
257
**参数:**
258 259 260

| 参数名  | 类型                                  | 必填 | 说明                    |
| ------- | ------------------------------------- | ---- | ----------------------- |
Z
zhongjianfei 已提交
261
| context | Context | 是   | 应用上下文。<br>FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。            |
262
| name    | string                                | 是   | Preferences实例的名称。 |
P
PaDoBoo 已提交
263

D
duanweiling 已提交
264 265 266 267 268 269
**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

D
duanweiling 已提交
270 271 272 273 274 275 276 277
**错误码:**

以下错误码的详细介绍请参见[首选项错误码](../errorcodes/errorcode-preferences.md)

| 错误码ID | 错误信息                       |
| -------- | ------------------------------|
| 15500010 | Failed to delete preferences. |

G
ge-yafang 已提交
278
**示例:**
279

280 281
FA模型示例:

282
```js
283
// 获取context
284 285
import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext();
286

D
duanweiling 已提交
287
try {
D
duanweiling 已提交
288 289 290
    let promise = data_preferences.deletePreferences(context, 'mystore');
    promise.then(() => {
        console.info("Succeeded in deleting preferences.");
D
duanweiling 已提交
291
    }).catch((err) => {
D
duanweiling 已提交
292
        console.info("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
293 294
    })
} catch(err) {
D
duanweiling 已提交
295
    console.info("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
296
}
P
PaDaBoo 已提交
297
```
P
PaDoBoo 已提交
298

299 300 301 302
Stage模型示例:

```ts
// 获取context
303 304
import UIAbility from '@ohos.app.ability.UIAbility';

305
let context = null;
306 307

class EntryAbility extends UIAbility {
308
    onWindowStageCreate(windowStage){
309
        context = this.context;
310 311 312
    }
}

D
duanweiling 已提交
313
try{
D
duanweiling 已提交
314 315 316
    let promise = data_preferences.deletePreferences(context, 'mystore');
    promise.then(() => {
        console.info("Succeeded in deleting preferences.");
D
duanweiling 已提交
317
    }).catch((err) => {
D
duanweiling 已提交
318
        console.info("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
319 320
    })
} catch(err) {
D
duanweiling 已提交
321
    console.info("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
322
}
323
```
P
PaDoBoo 已提交
324

325
## data_preferences.removePreferencesFromCache
P
PaDoBoo 已提交
326

327
removePreferencesFromCache(context: Context, name: string, callback: AsyncCallback&lt;void&gt;): void
P
PaDoBoo 已提交
328

329
从内存中移除指定的Preferences实例,使用callback异步回调。
G
ge-yafang 已提交
330

331
调用该接口后,应用不允许再使用该Preferences实例进行数据操作,否则会出现数据一致性问题。
P
PaDoBoo 已提交
332

P
PaDaBoo 已提交
333
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
334

G
ge-yafang 已提交
335
**参数:**
336

337 338
| 参数名   | 类型                                  | 必填 | 说明                                                 |
| -------- | ------------------------------------- | ---- | ---------------------------------------------------- |
Z
zhongjianfei 已提交
339
| context  | Context | 是   | 应用上下文。<br>FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。                                         |
340
| name     | string                                | 是   | Preferences实例的名称。                              |
341
| callback | AsyncCallback&lt;void&gt;             | 是   | 回调函数。当移除成功,err为undefined,否则为错误码。 |
P
PaDoBoo 已提交
342

G
ge-yafang 已提交
343
**示例:**
344

345 346
FA模型示例:

347
```js
348
// 获取context
349 350
import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext();
351

D
duanweiling 已提交
352
try {
D
duanweiling 已提交
353
    data_preferences.removePreferencesFromCache(context, 'mystore', function (err, val) {
D
duanweiling 已提交
354
        if (err) {
D
duanweiling 已提交
355 356
            console.info("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
            return;
D
duanweiling 已提交
357
        }
D
duanweiling 已提交
358 359
        console.info("Succeeded in removing preferences.");
    })
D
duanweiling 已提交
360
} catch (err) {
D
duanweiling 已提交
361
    console.info("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
362
}
P
PaDaBoo 已提交
363
```
P
PaDoBoo 已提交
364

365 366 367 368
Stage模型示例:

```ts
// 获取context
369 370
import UIAbility from '@ohos.app.ability.UIAbility';

371
let context = null;
372 373

class EntryAbility extends UIAbility {
374
    onWindowStageCreate(windowStage){
375
        context = this.context;
376 377 378
    }
}

D
duanweiling 已提交
379
try {
D
duanweiling 已提交
380
    data_preferences.removePreferencesFromCache(context, 'mystore', function (err, val) {
D
duanweiling 已提交
381
        if (err) {
D
duanweiling 已提交
382 383
            console.info("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
            return;
D
duanweiling 已提交
384
        }
D
duanweiling 已提交
385 386
        console.info("Succeeded in removing preferences.");
    })
D
duanweiling 已提交
387
} catch (err) {
D
duanweiling 已提交
388
    console.info("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
389
}
D
duanweiling 已提交
390

391
```
P
PaDoBoo 已提交
392

393
## data_preferences.removePreferencesFromCache
P
PaDoBoo 已提交
394

P
PaDaBoo 已提交
395
removePreferencesFromCache(context: Context, name: string): Promise&lt;void&gt;
P
PaDoBoo 已提交
396

A
Annie_wang 已提交
397
从内存中移除指定的Preferences实例,使用Promise异步回调。
G
ge-yafang 已提交
398

399
调用该接口后,应用不允许再使用该Preferences实例进行数据操作,否则会出现数据一致性问题。
P
PaDoBoo 已提交
400

P
PaDaBoo 已提交
401
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
402

G
ge-yafang 已提交
403
**参数:**
404 405 406

| 参数名  | 类型                                  | 必填 | 说明                    |
| ------- | ------------------------------------- | ---- | ----------------------- |
Z
zhongjianfei 已提交
407
| context | Context | 是   | 应用上下文。<br>FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。            |
408
| name    | string                                | 是   | Preferences实例的名称。 |
P
PaDoBoo 已提交
409

G
ge-yafang 已提交
410
**返回值:**
411

412 413 414
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
P
PaDoBoo 已提交
415

G
ge-yafang 已提交
416
**示例:**
417

418 419
FA模型示例:

420
```js
421
// 获取context
422 423
import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext();
424

D
duanweiling 已提交
425
try {
D
duanweiling 已提交
426 427 428
    let promise = data_preferences.removePreferencesFromCache(context, 'mystore');
	promise.then(() => {
    	console.info("Succeeded in removing preferences.");
D
duanweiling 已提交
429
    }).catch((err) => {
D
duanweiling 已提交
430
        console.info("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
431 432
    })
} catch(err) {
D
duanweiling 已提交
433
    console.info("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
434
}
P
PaDaBoo 已提交
435
```
P
PaDoBoo 已提交
436

437 438 439 440
Stage模型示例:

```ts
// 获取context
441
import UIAbility from '@ohos.app.ability.UIAbility';
442
let context = null;
443
class EntryAbility extends UIAbility {
444
    onWindowStageCreate(windowStage){
445
        context = this.context;
446 447 448
    }
}

D
duanweiling 已提交
449
try {
D
duanweiling 已提交
450 451 452
    let promise = data_preferences.removePreferencesFromCache(context, 'mystore');
	promise.then(() => {
    	console.info("Succeeded in removing preferences.");
D
duanweiling 已提交
453
    }).catch((err) => {
D
duanweiling 已提交
454
        console.info("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
455 456
    })
} catch(err) {
D
duanweiling 已提交
457
    console.info("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
458
}
459
```
P
PaDoBoo 已提交
460 461 462

## Preferences

463 464 465
存储实例,提供获取和修改存储数据的接口。

下列接口都需先使用[data_preferences.getPreferences](#data_preferencesgetpreferences)获取到Preferences实例,再通过此实例调用对应接口。
P
PaDoBoo 已提交
466 467 468 469 470 471


### get

get(key: string, defValue: ValueType, callback: AsyncCallback&lt;ValueType&gt;): void

472
获取键对应的值,如果值为null或者非默认值类型,返回默认数据,使用callback异步回调。
P
PaDoBoo 已提交
473

P
PaDaBoo 已提交
474
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
475

G
ge-yafang 已提交
476
**参数:**
477

478 479 480 481 482
| 参数名   | 类型                                         | 必填 | 说明                                                         |
| -------- | -------------------------------------------- | ---- | ------------------------------------------------------------ |
| key      | string                                       | 是   | 要获取的存储Key名称,不能为空。                              |
| defValue | [ValueType](#valuetype)                      | 是   | 默认返回值。支持number、string、boolean、Array\<number>、Array\<string>、Array\<boolean>类型。 |
| callback | AsyncCallback&lt;[ValueType](#valuetype)&gt; | 是   | 回调函数。当获取成功时,err为undefined,data为键对应的值;否则err为错误码。 |
P
PaDoBoo 已提交
483

G
ge-yafang 已提交
484
**示例:**
485 486

```js
D
duanweiling 已提交
487
try {
488
    preferences.get('startup', 'default', function (err, val) {
D
duanweiling 已提交
489
        if (err) {
D
duanweiling 已提交
490 491
            console.info("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
            return;
D
duanweiling 已提交
492
        }
D
duanweiling 已提交
493
        console.info("Succeeded in getting value of 'startup'. val: " + val);
D
duanweiling 已提交
494 495
    })
} catch (err) {
D
duanweiling 已提交
496
    console.info("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
497
}
P
PaDaBoo 已提交
498
```
P
PaDoBoo 已提交
499 500 501 502 503 504


### get

get(key: string, defValue: ValueType): Promise&lt;ValueType&gt;

505
获取键对应的值,如果值为null或者非默认值类型,返回默认数据,使用Promise异步回调。
P
PaDoBoo 已提交
506

P
PaDaBoo 已提交
507
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
508

509
 **参数:**
510

511 512 513 514
| 参数名   | 类型                    | 必填 | 说明                                                         |
| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
| key      | string                  | 是   | 要获取的存储Key名称,不能为空。                              |
| defValue | [ValueType](#valuetype) | 是   | 默认返回值。支持number、string、boolean、Array\<number>、Array\<string>、Array\<boolean>类型。 |
P
PaDoBoo 已提交
515

G
ge-yafang 已提交
516
**返回值:**
517 518 519 520

| 类型                                | 说明                          |
| ----------------------------------- | ----------------------------- |
| Promise<[ValueType](#valuetype)&gt; | Promise对象,返回键对应的值。 |
P
PaDoBoo 已提交
521

G
ge-yafang 已提交
522
**示例:**
523

524
```js
D
duanweiling 已提交
525
try {
D
duanweiling 已提交
526 527 528
    let promise = preferences.get('startup', 'default');
    promise.then((data) => {
        console.info("Succeeded in getting value of 'startup'. Data: " + data);
D
duanweiling 已提交
529
    }).catch((err) => {
D
duanweiling 已提交
530
        console.info("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
531 532
    })
} catch(err) {
D
duanweiling 已提交
533
    console.info("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
534
}
P
PaDaBoo 已提交
535
```
P
PaDoBoo 已提交
536

537 538 539 540
### getAll

getAll(callback: AsyncCallback&lt;Object&gt;): void;

541
获取含有所有键值的Object对象。
542 543 544 545

**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core

**参数:**
546

547 548 549
| 参数名   | 类型                        | 必填 | 说明                                                         |
| -------- | --------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;Object&gt; | 是   | 回调函数。当获取成功,err为undefined,value为含有所有键值的Object对象;否则err为错误码。 |
550 551

**示例:**
552 553

```js
D
duanweiling 已提交
554
try {
D
duanweiling 已提交
555
    preferences.getAll(function (err, value) {
D
duanweiling 已提交
556
        if (err) {
D
duanweiling 已提交
557 558
            console.info("Failed to get all key-values. code =" + err.code + ", message =" + err.message);
            return;
D
duanweiling 已提交
559
        }
D
duanweiling 已提交
560 561 562
    let allKeys = Object.keys(value);
    console.info("getAll keys = " + allKeys);
    console.info("getAll object = " + JSON.stringify(value));
D
duanweiling 已提交
563 564
    })
} catch (err) {
D
duanweiling 已提交
565
    console.info("Failed to get all key-values. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
566
}
567 568 569 570 571 572 573
```


### getAll

getAll(): Promise&lt;Object&gt;

574
获取含有所有键值的Object对象。
575 576 577 578

**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core

**返回值:**
579

580 581 582
| 类型                  | 说明                                        |
| --------------------- | ------------------------------------------- |
| Promise&lt;Object&gt; | Promise对象,返回含有所有键值的Object对象。 |
583 584

**示例:**
585

586
```js
D
duanweiling 已提交
587
try {
D
duanweiling 已提交
588 589
    let promise = preferences.getAll();
    promise.then((value) => {
D
duanweiling 已提交
590 591 592
        let allKeys = Object.keys(value);
        console.info('getAll keys = ' + allKeys);
        console.info("getAll object = " + JSON.stringify(value));
D
duanweiling 已提交
593
    }).catch((err) => {
D
duanweiling 已提交
594
        console.info("Failed to get all key-values. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
595 596
    })
} catch (err) {
D
duanweiling 已提交
597
    console.info("Failed to get all key-values. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
598
}
599
```
P
PaDoBoo 已提交
600 601 602 603 604

### put

put(key: string, value: ValueType, callback: AsyncCallback&lt;void&gt;): void

605
将数据写入Preferences实例,可通过[flush](#flush)将Preferences实例持久化,使用callback异步回调。
P
PaDoBoo 已提交
606

P
PaDaBoo 已提交
607
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
608

G
ge-yafang 已提交
609
**参数:**
610

611 612 613 614 615
| 参数名   | 类型                      | 必填 | 说明                                                         |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| key      | string                    | 是   | 要修改的存储的Key,不能为空。                                |
| value    | [ValueType](#valuetype)   | 是   | 存储的新值。支持number、string、boolean、Array\<number>、Array\<string>、Array\<boolean>类型。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当数据写入成功,err为undefined;否则为错误码。     |
P
PaDoBoo 已提交
616

G
ge-yafang 已提交
617
**示例:**
618

619
```js
D
duanweiling 已提交
620
try {
D
duanweiling 已提交
621
    preferences.put('startup', 'auto', function (err) {
D
duanweiling 已提交
622
        if (err) {
D
duanweiling 已提交
623
            console.info("Failed to put value of 'startup'. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
624
            return;
D
duanweiling 已提交
625
        }
D
duanweiling 已提交
626
        console.info("Succeeded in putting value of 'startup'.");
D
duanweiling 已提交
627
    })
D
duanweiling 已提交
628
} catch (err) {
D
duanweiling 已提交
629
    console.info("Failed to put value of 'startup'. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
630
}
P
PaDaBoo 已提交
631
```
P
PaDoBoo 已提交
632 633 634 635 636 637


### put

put(key: string, value: ValueType): Promise&lt;void&gt;

638
将数据写入Preferences实例,可通过[flush](#flush)将Preferences实例持久化,使用Promise异步回调。
P
PaDoBoo 已提交
639

P
PaDaBoo 已提交
640
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
641

G
ge-yafang 已提交
642
**参数:**
643

644 645 646 647
| 参数名 | 类型                    | 必填 | 说明                                                         |
| ------ | ----------------------- | ---- | ------------------------------------------------------------ |
| key    | string                  | 是   | 要修改的存储的Key,不能为空。                                |
| value  | [ValueType](#valuetype) | 是   | 存储的新值。支持number、string、boolean、Array\<number>、Array\<string>、Array\<boolean>类型。 |
P
PaDoBoo 已提交
648

G
ge-yafang 已提交
649
**返回值:**
650

651 652 653
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
P
PaDoBoo 已提交
654

G
ge-yafang 已提交
655
**示例:**
656

657
```js
D
duanweiling 已提交
658
try {
D
duanweiling 已提交
659
    let promise = preferences.put('startup', 'auto');
D
duanweiling 已提交
660
    promise.then(() => {
D
duanweiling 已提交
661
        console.info("Succeeded in putting value of 'startup'.");
D
duanweiling 已提交
662
    }).catch((err) => {
D
duanweiling 已提交
663
        console.info("Failed to put value of 'startup'. code =" + err.code +", message =" + err.message);
D
duanweiling 已提交
664 665
    })
} catch(err) {
D
duanweiling 已提交
666
    console.info("Failed to put value of 'startup'. code =" + err.code +", message =" + err.message);
D
duanweiling 已提交
667
}
P
PaDaBoo 已提交
668
```
P
PaDoBoo 已提交
669 670 671 672


### has

673
has(key: string, callback: AsyncCallback&lt;boolean&gt;): void
P
PaDoBoo 已提交
674

675
检查Preferences实例是否包含名为给定Key的存储键值对,使用callback异步回调。
P
PaDoBoo 已提交
676

P
PaDaBoo 已提交
677
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
678

G
ge-yafang 已提交
679
**参数:**
680

681 682 683
| 参数名   | 类型                         | 必填 | 说明                                                         |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| key      | string                       | 是   | 要检查的存储key名称,不能为空。                              |
684
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回Preferences实例是否包含给定key的存储键值对,true表示存在,false表示不存在。 |
P
PaDoBoo 已提交
685

G
ge-yafang 已提交
686
**示例:**
687

688
```js
D
duanweiling 已提交
689
try {
D
duanweiling 已提交
690
    preferences.has('startup', function (err, val) {
D
duanweiling 已提交
691 692 693 694 695 696 697 698 699
        if (err) {
            console.info("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message);
            return;
        }
        if (val) {
            console.info("The key 'startup' is contained.");
        } else {
            console.info("The key 'startup' dose not contain.");
        }
D
duanweiling 已提交
700
  })
D
duanweiling 已提交
701 702
} catch (err) {
    console.info("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
703
}
P
PaDaBoo 已提交
704
```
P
PaDoBoo 已提交
705 706 707 708 709 710


### has

has(key: string): Promise&lt;boolean&gt;

711
检查Preferences实例是否包含名为给定Key的存储键值对,使用Promise异步回调。
P
PaDoBoo 已提交
712

P
PaDaBoo 已提交
713
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
714

G
ge-yafang 已提交
715
**参数:**
716

717 718 719
| 参数名 | 类型   | 必填 | 说明                            |
| ------ | ------ | ---- | ------------------------------- |
| key    | string | 是   | 要检查的存储key名称,不能为空。 |
P
PaDoBoo 已提交
720

G
ge-yafang 已提交
721
**返回值:**
722

723 724
| 类型                   | 说明                                                         |
| ---------------------- | ------------------------------------------------------------ |
725
| Promise&lt;boolean&gt; | Promise对象。返回Preferences实例是否包含给定key的存储键值对,true表示存在,false表示不存在。 |
P
PaDoBoo 已提交
726

G
ge-yafang 已提交
727
**示例:**
728 729

```js
D
duanweiling 已提交
730
try {
D
duanweiling 已提交
731 732
    let promise = preferences.has('startup');
    promise.then((val) => {
D
duanweiling 已提交
733
        if (val) {
D
duanweiling 已提交
734
            console.info("The key 'startup' is contained.");
D
duanweiling 已提交
735
        } else {
D
duanweiling 已提交
736
            console.info("The key 'startup' dose not contain.");
D
duanweiling 已提交
737
        }
D
duanweiling 已提交
738
    }).catch((err) => {
D
duanweiling 已提交
739
        console.info("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
740 741
  })
} catch(err) {
D
duanweiling 已提交
742
    console.info("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
743
}
P
PaDaBoo 已提交
744
```
P
PaDoBoo 已提交
745 746 747 748 749 750


### delete

delete(key: string, callback: AsyncCallback&lt;void&gt;): void

751
从Preferences实例中删除名为给定Key的存储键值对,使用callback异步回调。
P
PaDoBoo 已提交
752

P
PaDaBoo 已提交
753
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
754

G
ge-yafang 已提交
755
**参数:**
756

757 758 759 760
| 参数名   | 类型                      | 必填 | 说明                                                 |
| -------- | ------------------------- | ---- | ---------------------------------------------------- |
| key      | string                    | 是   | 要删除的存储Key名称,不能为空。                      |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当删除成功,err为undefined;否则为错误码。 |
P
PaDoBoo 已提交
761

G
ge-yafang 已提交
762
**示例:**
763

764
```js
D
duanweiling 已提交
765
try {
D
duanweiling 已提交
766
    preferences.delete('startup', function (err) {
D
duanweiling 已提交
767
        if (err) {
D
duanweiling 已提交
768 769
            console.info("Failed to delete the key 'startup'. code =" + err.code + ", message =" + err.message);
            return;
D
duanweiling 已提交
770
        }
D
duanweiling 已提交
771
        console.info("Succeeded in deleting the key 'startup'.");
D
duanweiling 已提交
772
    })
D
duanweiling 已提交
773 774
} catch (err) {
    console.info("Failed to delete the key 'startup'. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
775
}
P
PaDaBoo 已提交
776
```
P
PaDoBoo 已提交
777 778 779 780 781 782


### delete

delete(key: string): Promise&lt;void&gt;

783
从Preferences实例中删除名为给定Key的存储键值对,使用Promise异步回调。
P
PaDoBoo 已提交
784

P
PaDaBoo 已提交
785
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
786

G
ge-yafang 已提交
787
**参数:**
788

789 790 791
| 参数名 | 类型   | 必填 | 说明                            |
| ------ | ------ | ---- | ------------------------------- |
| key    | string | 是   | 要删除的存储key名称,不能为空。 |
P
PaDoBoo 已提交
792

G
ge-yafang 已提交
793
**返回值:**
794

795 796 797
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
P
PaDoBoo 已提交
798

G
ge-yafang 已提交
799
**示例:**
800

801
```js
D
duanweiling 已提交
802
try {
D
duanweiling 已提交
803
    let promise = preferences.delete('startup');
D
duanweiling 已提交
804
	promise.then(() => {
D
duanweiling 已提交
805
        console.info("Succeeded in deleting the key 'startup'.");
D
duanweiling 已提交
806
    }).catch((err) => {
D
duanweiling 已提交
807
        console.log("Failed to delete the key 'startup'. code =" + err.code +", message =" + err.message);
D
duanweiling 已提交
808 809
    })
} catch(err) {
D
duanweiling 已提交
810
    console.log("Failed to delete the key 'startup'. code =" + err.code +", message =" + err.message);
D
duanweiling 已提交
811
}
P
PaDaBoo 已提交
812
```
P
PaDoBoo 已提交
813 814 815 816 817 818


### flush

flush(callback: AsyncCallback&lt;void&gt;): void

819
将当前Preferences实例的数据异步存储到首选项持久化文件中,使用callback异步回调。
P
PaDoBoo 已提交
820

P
PaDaBoo 已提交
821
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
822

G
ge-yafang 已提交
823
**参数:**
824

825 826 827
| 参数名   | 类型                      | 必填 | 说明                                                 |
| -------- | ------------------------- | ---- | ---------------------------------------------------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当保存成功,err为undefined;否则为错误码。 |
P
PaDoBoo 已提交
828

G
ge-yafang 已提交
829
**示例:**
830

831
```js
D
duanweiling 已提交
832
try {
D
duanweiling 已提交
833
    preferences.flush(function (err) {
D
duanweiling 已提交
834
        if (err) {
D
duanweiling 已提交
835 836
            console.info("Failed to flush. code =" + err.code + ", message =" + err.message);
            return;
D
duanweiling 已提交
837
        }
D
duanweiling 已提交
838
        console.info("Succeeded in flushing.");
D
duanweiling 已提交
839
    })
D
duanweiling 已提交
840 841
} catch (err) {
    console.info("Failed to flush. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
842
}
P
PaDaBoo 已提交
843
```
P
PaDoBoo 已提交
844 845 846 847 848 849


### flush

flush(): Promise&lt;void&gt;

850
将当前Preferences实例的数据异步存储到首选项持久化文件中,使用Promise异步回调。
P
PaDoBoo 已提交
851

P
PaDaBoo 已提交
852
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
853

G
ge-yafang 已提交
854
**返回值:**
855

856 857 858
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
P
PaDoBoo 已提交
859

G
ge-yafang 已提交
860
**示例:**
861

862
```js
D
duanweiling 已提交
863
try {
D
duanweiling 已提交
864
    let promise = preferences.flush();
D
duanweiling 已提交
865
    promise.then(() => {
D
duanweiling 已提交
866
        console.info("Succeeded in flushing.");
D
duanweiling 已提交
867
    }).catch((err) => {
D
duanweiling 已提交
868
        console.info("Failed to flush. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
869 870
    })
} catch (err) {
D
duanweiling 已提交
871
    console.info("Failed to flush. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
872
}
P
PaDaBoo 已提交
873
```
P
PaDoBoo 已提交
874 875 876 877 878 879


### clear

clear(callback: AsyncCallback&lt;void&gt;): void

880
清除此Preferences实例中的所有存储,使用callback异步回调。
P
PaDoBoo 已提交
881

P
PaDaBoo 已提交
882
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
883

G
ge-yafang 已提交
884
**参数:**
885

886 887 888
| 参数名   | 类型                      | 必填 | 说明                                                 |
| -------- | ------------------------- | ---- | ---------------------------------------------------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当清除成功,err为undefined;否则为错误码。 |
P
PaDoBoo 已提交
889

G
ge-yafang 已提交
890
**示例:**
891

892
```js
D
duanweiling 已提交
893 894 895
try {
	preferences.clear(function (err) {
        if (err) {
D
duanweiling 已提交
896 897
            console.info("Failed to clear. code =" + err.code + ", message =" + err.message);
            return;
D
duanweiling 已提交
898
        }
D
duanweiling 已提交
899
        console.info("Succeeded in clearing.");
D
duanweiling 已提交
900
    })
D
duanweiling 已提交
901
} catch (err) {
D
duanweiling 已提交
902
    console.info("Failed to clear. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
903
}
P
PaDaBoo 已提交
904
```
P
PaDoBoo 已提交
905 906 907 908 909 910


### clear

clear(): Promise&lt;void&gt;

911
清除此Preferences实例中的所有存储,使用Promise异步回调。
P
PaDoBoo 已提交
912

P
PaDaBoo 已提交
913
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
914

G
ge-yafang 已提交
915
**返回值:**
916

917 918 919
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
P
PaDoBoo 已提交
920

G
ge-yafang 已提交
921
**示例:**
922

923
```js
D
duanweiling 已提交
924 925
try {
    let promise = preferences.clear();
D
duanweiling 已提交
926 927
	promise.then(() => {
    	console.info("Succeeded in clearing.");
D
duanweiling 已提交
928
    }).catch((err) => {
D
duanweiling 已提交
929
        console.info("Failed to clear. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
930 931
    })
} catch(err) {
D
duanweiling 已提交
932
    console.info("Failed to clear. code =" + err.code + ", message =" + err.message);
D
duanweiling 已提交
933
}
P
PaDaBoo 已提交
934
```
P
PaDoBoo 已提交
935 936 937 938 939 940


### on('change')

on(type: 'change', callback: Callback&lt;{ key : string }&gt;): void

941
订阅数据变更,订阅的Key的值发生变更后,在执行[flush](#flush)方法后,触发callback回调。
P
PaDoBoo 已提交
942

P
PaDaBoo 已提交
943
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
944

G
ge-yafang 已提交
945
**参数:**
946

947 948 949 950
| 参数名   | 类型                             | 必填 | 说明                                     |
| -------- | -------------------------------- | ---- | ---------------------------------------- |
| type     | string                           | 是   | 事件类型,固定值'change',表示数据变更。 |
| callback | Callback&lt;{ key : string }&gt; | 是   | 回调对象实例。                           |
P
PaDoBoo 已提交
951

G
ge-yafang 已提交
952
**示例:**
953

954
```js
D
duanweiling 已提交
955
try {
D
duanweiling 已提交
956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976
	data_preferences.getPreferences(this.context, 'mystore', function (err, preferences) {
		if (err) {
			console.info("Failed to get preferences.");
			return;
		}
		let observer = function (key) {
			console.info("The key " + key + " changed.");
		}
		preferences.on('change', observer);
		preferences.put('startup', 'manual', function (err) {
			if (err) {
				console.info("Failed to put the value of 'startup'. Cause: " + err);
				return;
			}
			console.info("Succeeded in putting the value of 'startup'.");

			preferences.flush(function (err) {
				if (err) {
					console.info("Failed to flush. Cause: " + err);
					return;
				}
D
duanweiling 已提交
977
				console.info("Succeeded in flushing.");
D
duanweiling 已提交
978 979 980 981 982 983
			})
		})
	})
} catch (err) {
	console.info("Failed to flush. code =" + err.code + ", message =" + err.message);
}
P
PaDaBoo 已提交
984
```
P
PaDoBoo 已提交
985 986 987 988


### off('change')

989
off(type: 'change', callback?: Callback&lt;{ key : string }&gt;): void
P
PaDoBoo 已提交
990

991
取消订阅数据变更。
P
PaDoBoo 已提交
992

P
PaDaBoo 已提交
993
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
994

G
ge-yafang 已提交
995
**参数:**
996

997 998 999 1000
| 参数名   | 类型                             | 必填 | 说明                                       |
| -------- | -------------------------------- | ---- | ------------------------------------------ |
| type     | string                           | 是   | 事件类型,固定值'change',表示数据变更。   |
| callback | Callback&lt;{ key : string }&gt; | 否   | 需要取消的回调对象实例,不填写则全部取消。 |
P
PaDoBoo 已提交
1001

G
ge-yafang 已提交
1002
**示例:**
1003

1004
```js
D
duanweiling 已提交
1005
try {
D
duanweiling 已提交
1006
    data_preferences.getPreferences(this.context, 'mystore', function (err, preferences) {
D
duanweiling 已提交
1007
        if (err) {
D
duanweiling 已提交
1008
            console.info("Failed to get preferences.");
D
duanweiling 已提交
1009 1010
            return;
        }
D
duanweiling 已提交
1011 1012 1013 1014 1015
        let observer = function (key) {
            console.info("The key " + key + " changed.");
        }
        preferences.on('change', observer);
        preferences.put('startup', 'auto', function (err) {
D
duanweiling 已提交
1016
            if (err) {
D
duanweiling 已提交
1017
                console.info("Failed to put the value of 'startup'. Cause: " + err);
D
duanweiling 已提交
1018 1019
                return;
            }
D
duanweiling 已提交
1020 1021 1022 1023 1024 1025 1026
            console.info("Succeeded in putting the value of 'startup'.");

            preferences.flush(function (err) {
                if (err) {
                    console.info("Failed to flush. Cause: " + err);
                    return;
                }
D
duanweiling 已提交
1027
                console.info("Succeeded in flushing.");
D
duanweiling 已提交
1028 1029
            })
            preferences.off('change', observer);
D
duanweiling 已提交
1030 1031
        })
    })
D
duanweiling 已提交
1032
} catch (err) {
D
duanweiling 已提交
1033 1034
    console.info("Failed to flush. code =" + err.code + ", message =" + err.message);
}
P
PaDaBoo 已提交
1035
```
G
ge-yafang 已提交
1036 1037 1038 1039 1040

## ValueType

用于表示允许的数据字段类型。

P
PaDaBoo 已提交
1041
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
G
ge-yafang 已提交
1042

1043 1044 1045 1046 1047
| 类型            | 说明                           |
| --------------- | ------------------------------ |
| number          | 表示值类型为数字。             |
| string          | 表示值类型为字符串。           |
| boolean         | 表示值类型为布尔值。           |
1048 1049
| Array\<number>  | 表示值类型为数字类型的数组。   |
| Array\<boolean> | 表示值类型为布尔类型的数组。   |
1050
| Array\<string>  | 表示值类型为字符串类型的数组。 |