首页 > 其他分享 >用户首选项

用户首选项

时间:2024-12-18 09:46:36浏览次数:7  
标签:preferences name 用户 callback 实例 context 首选项 Preferences

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

标签:preferences,name,用户,callback,实例,context,首选项,Preferences
From: https://www.cnblogs.com/hongmengos/p/18613933

相关文章

  • ArkWeb页面预加载与缓存 - 提升用户体验
    ArkWeb页面预加载与缓存-提升用户体验简介在Web应用开发中,页面加载速度和流畅性直接影响用户体验。ArkWeb框架提供了强大的页面预加载和缓存功能,可以帮助开发者提升应用的响应速度和效率。本文将详细介绍如何在ArkWeb框架中实现页面预加载、资源预加载、设置缓存模式以及清除......
  • 系统网站登录,如何合规传输用户登录密码?
    对于系统登录页面来说,我们作为开发人员,应该没有陌生的吧。就像下面这样子。  点击登录,调用/login接口。来看下面截图中的载荷(payload)数据,其中,密码password的值是明文。  这里要说的是,用户登录密码属于用户隐私数据。首先,隐私数据属于敏感数据,不能明文传输;其次,系......
  • 预见未来:基于MySQL的实时用户行为预测系统构建指南
    在这个信息爆炸的时代,理解并预测用户的下一步行动成为了企业竞争的关键。无论是电商平台推荐商品、社交媒体推送内容还是在线广告精准投放,实时用户行为预测都能为企业带来显著的竞争优势。然而,如何高效地处理海量数据,并从中挖掘出有价值的信息,是每一个开发者和分析师面临的......
  • SQL Server创建用户一直提示用户已存在的解决办法
    背景:复制的老数据库,创建账号onlyread时,一直提示数据库里有这个用户名。报错如下:“用户、组或角色'onlyread'在当前数据库中已存在。”解决方法:1.查询数据库,是否有这个用户--查询是否存在指定的用户、组或者角色SELECT*FROMsys.database_principalsWHEREname='only......
  • 如何实现记录用户的操作轨迹并还原?
    记录用户的操作轨迹并还原,通常涉及到前端和后端的配合,但以前端开发为主。以下是一个基本的实现思路:1.确定要记录的操作首先,你需要明确哪些用户操作是需要被记录的。例如,点击按钮、输入文本、滚动页面、鼠标移动等。2.设计数据结构为了记录操作轨迹,你需要设计一个合适的数据......
  • 24.11.07 用户管理补充
    sudo提权,用于普通用户普通用户可以临时成为root,去运行对应的命令类似于皇帝给大臣尚方宝剑需要root用户去配置,普通用户进行使用eg:授权oldboy用户,以root权限运行tail,cat,less,head,more,grep1、先给oldboy用户设置一个密码[root@oldboyedu~]#echo'Lidao996'|passwd--stdi......
  • 24.11.08 用户管理安全补充
    ssh服务远程连接服务:openssh远程连接端口号:22默认22,可以修改端口号禁止root远程登录:普通用户登录,普通用户sudosu-配置文件/etc/ssh/sshd_config修改远程连接端口号为52013#1、检查系统正在使用的端口号[root@oldboyedu~]#ss-lntupNetidStateRecv-QSend-QLoc......
  • 24.11.06 用户管理
    用户分类一般看用户名,本质要看用户的uid和giduiduserid用户id,相当于身份证号码,也是我们最关注的gidgroupid组id,相当于户口本号码用户的分类本质要看uid和命令解释器用户分类uid说明root0权限高/root普通用户一般>=1000权限低,只能管理自己的家目......
  • Express的使用笔记9 使用bcrypt算法给用户密码加密
    先了解一下bcrypt算法,一种基于Blowfish密码学算法的密码散列函数,用于在密码存储时抵抗暴力破解攻击,通过在散列过程中加salt来提高安全性,salt是个随机生成的数据串,与密码一起被散列,使得即使两个相同的密码也会产生不同的散列值。bcrypt算法允许开发者指定工作因子(成本因子),决定散列......
  • ARMS 用户体验监控正式发布原生鸿蒙应用 SDK
    作者:杨兰馨(楠瑆)背景2024年10月22日,华为正式发布了原生鸿蒙操作系统(HarmonyOSNEXT)。原生鸿蒙实现了系统底座全部自研,系统的流畅度、性能、安全特性等方面显著提升,也实现了操作系统的自主可控。目前,已有超过15000个鸿蒙原生应用和元服务上架,为了进一步优化用户的使用体验,......