用户首选项

鸿蒙 Next 用户首选项使用指南

鸿蒙 Next 的用户首选项(@ohos.data.preferences)为应用提供了便捷的轻量级数据持久化解决方案,以键值对形式存储数据,支持数字型、字符型、布尔型及它们的数组类型。以下是其详细使用方法:

一、导入模块与了解常量

  1. 导入模块
    • 使用import { preferences } from '@kit.ArkData';导入用户首选项模块。
  2. 常量说明
    • MAX_KEY_LENGTH限制键的最大长度为 1024 字节,MAX_VALUE_LENGTH限制值的最大长度为 16 * 1024 * 1024 字节。

二、获取 Preferences 实例

  1. 基本获取方式(API version 9 及以上)
    • getPreferences(context, name, callback)getPreferences(context, name):传入应用上下文(如 FA 模型的featureAbility.getContext()或 Stage 模型的UIAbility中的this.context)和实例名称,可选择使用callback异步回调或Promise异步回调获取Preferences实例。例如在 FA 模型中:
import { featureAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let context = featureAbility.getContext();
let dataPreferences: preferences.Preferences | null = null;
preferences.getPreferences(context,'myStore', (err: BusinessError, val: preferences.Preferences) => {
  if (err) {
    console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
    return;
  }
  dataPreferences = val;
  console.info("Succeeded in getting preferences.");
});
  1. 带配置选项获取方式(API version 10 及以上)
    • getPreferences(context, options, callback)getPreferences(context, options):传入包含实例名称(如{ name:'myStore' })等配置选项的对象,同样支持两种异步回调方式获取实例,错误码处理更丰富。
    • getPreferencesSync(context, options)(API version 10 及以上):同步获取Preferences实例,在特定场景下可确保操作顺序,但需注意同步操作可能影响性能。

三、删除 Preferences 实例

  1. 基本删除方式(API version 11 及以上)
    • deletePreferences(context, name, callback)deletePreferences(context, name):通过上下文和实例名称删除实例及其持久化文件,使用异步回调(callbackPromise)。调用后建议将实例置为null,不支持与其他首选项接口并发调用。
  2. 带配置选项删除方式(API version 10 及以上)
    • deletePreferences(context, options, callback)deletePreferences(context, options):根据配置选项执行删除操作,错误码包含更多情况,如Only supported in stage modeThe data group id is not valid

四、从缓存移出 Preferences 实例

  1. 移出缓存实例(API version 11 及以上)
    • removePreferencesFromCache(context, name, callback)removePreferencesFromCache(context, name):移出指定缓存实例,之后再次获取将重新读取持久化文件,异步回调(callbackPromise),操作后需置实例为null,处理相应错误码。

总之,在使用鸿蒙 Next 用户首选项时,需注意其不保证进程并发安全,不适合多进程场景。开发者应根据实际需求合理选择接口,并正确处理错误码和实例状态,以确保数据操作的准确性和稳定性。

posted @   flfljh2024  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示