鸿蒙Next ArkTS中Preferences用法详解
在鸿蒙Next中使用ArkTS开发时,Preferences的具体用法有哪些?比如如何初始化、存储数据、读取数据和删除数据?能否提供一个完整的示例代码?另外,Preferences和LightKV有什么区别,在什么场景下更适合使用Preferences?
2 回复
鸿蒙Next的ArkTS中,Preferences就像手机里的“小本本”,用来存键值对数据。用法超简单:
- 用
Preferences.getPreferences()打开本本。 put()写数据,get()读数据。- 记得
flush()保存,不然数据会“蒸发”。 记住:别存大文件,它只爱记小秘密!
更多关于鸿蒙Next ArkTS中Preferences用法详解的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙Next的ArkTS中,Preferences是一个轻量级的本地数据存储方案,用于存储应用的简单配置信息(如用户设置、应用状态等)。它基于键值对(key-value)存储,数据以文件形式保存在设备本地,适用于非敏感、小数据量的场景。
基本用法
-
导入模块:
import preferences from '[@ohos](/user/ohos).data.preferences'; -
获取Preferences实例: 通过
getPreferences方法获取实例,需指定上下文和存储文件名。let context = ...; // 获取UIAbility上下文 let pref: preferences.Preferences = await preferences.getPreferences(context, 'mypref'); -
数据操作:
- 写入数据:使用
put()方法,支持string、number、boolean等类型。await pref.put('key_string', 'value'); await pref.put('key_number', 123); await pref.flush(); // 提交更改到文件 - 读取数据:使用
get()方法,需指定默认值。let value: string = await pref.get('key_string', 'default'); - 删除数据:使用
delete()方法。await pref.delete('key_string');
- 写入数据:使用
-
持久化与监听:
- 调用
flush()确保数据写入磁盘。 - 可通过
on('change')监听数据变更。
- 调用
完整示例
import preferences from '[@ohos](/user/ohos).data.preferences';
import common from '[@ohos](/user/ohos).app.ability.common';
async function example() {
let context = getContext(this) as common.UIAbilityContext;
let pref = await preferences.getPreferences(context, 'app_pref');
// 写入数据
await pref.put('username', 'Alice');
await pref.put('age', 25);
await pref.flush();
// 读取数据
let name = await pref.get('username', 'unknown');
let age = await pref.get('age', 0);
// 删除数据
await pref.delete('age');
}
注意事项
- 数据以异步方式操作,需使用
await。 - 避免存储大量数据或敏感信息(如密码)。
- 文件名需唯一,不同文件存储独立数据。
通过Preferences,可高效管理应用的轻量级本地配置,提升用户体验。

