在鸿蒙Next(HarmonyOS NEXT)中,preferences 工具类用于轻量级数据存储,适用于保存应用的配置信息、用户偏好设置等。以下是基本使用方法:
1. 导入模块
import { preferences } from '@kit.ArkData';
2. 获取 Preferences 实例
// 指定文件名(无需后缀)
let context = ... // 获取UIAbilityContext
let prefs = await preferences.getPreferences(context, 'myAppPrefs');
3. 常用操作
写入数据:
// 支持string|number|boolean|Array<number>
await prefs.put('key_string', 'value');
await prefs.put('key_int', 100);
await prefs.put('key_bool', true);
// 提交保存
await prefs.flush();
读取数据:
let strVal = await prefs.get('key_string', 'default');
let intVal = await prefs.get('key_int', 0);
let boolVal = await prefs.get('key_bool', false);
删除数据:
await prefs.delete('key_string');
清空所有数据:
await prefs.clear();
4. 完整示例
import { preferences } from '@kit.ArkData';
import { UIAbilityContext } from '@kit.AbilityKit';
async function demo(context: UIAbilityContext) {
  // 获取实例
  let prefs = await preferences.getPreferences(context, 'appData');
  
  // 存储数据
  await prefs.put('username', 'HarmonyUser');
  await prefs.put('login_count', 5);
  await prefs.flush();
  
  // 读取数据
  let name = await prefs.get('username', 'default');
  let count = await prefs.get('login_count', 0);
  
  // 删除指定键
  await prefs.delete('login_count');
}
注意事项:
- 数据默认存储在应用沙箱内,不同应用数据隔离
 
- 键名建议使用有意义的字符串,避免特殊字符
 
- 支持的数据类型有限,复杂对象需序列化为字符串
 
- 频繁操作建议批量处理后再调用flush()
 
通过以上方法即可实现鸿蒙Next中的轻量数据持久化存储。