HarmonyOS应用开发实战:猫猫大作战-preferences 偏好存储
📅 2026/7/29 13:31:24
👁️ 次浏览
前言Preferences是 HarmonyOS 的轻量级键值对存储适合保存用户偏好设置和少量数据。在「猫猫大作战」中Preferences 存储音效开关、最高分、提醒时间等配置。一、Preferences 基础import { preferences } from kit.ArkData; async function savePreferences(context: Context): Promisevoid { const store await preferences.getPreferences(context, game_prefs); await store.put(highScore, 5000); await store.put(soundEnabled, true); await store.put(playerName, 小明); await store.put(reminderHour, 20); await store.flush(); // 写入磁盘 } async function loadPreferences(context: Context): Promisevoid { const store await preferences.getPreferences(context, game_prefs); const highScore store.get(highScore, 0) as number; const soundOn store.get(soundEnabled, true) as boolean; const name store.get(playerName, 玩家) as string; }二、Preferences 操作方法说明示例put(key, value)写入put(score, 100)get(key, def)读取get(score, 0)delete(key)删除delete(oldKey)flush()持久化必须调用才写入磁盘clear()清空全部谨慎使用三、游戏中的应用class SettingsManager { private store: preferences.Preferences | null null; async init(context: Context): Promisevoid { this.store await preferences.getPreferences(context, game_prefs); } async getHighScore(): Promisenumber { return this.store?.get(highScore, 0) as number ?? 0; } async setHighScore(score: number): Promisevoid { await this.store?.put(highScore, score); await this.store?.flush(); } async getSoundEnabled(): Promiseboolean { return this.store?.get(soundEnabled, true) as boolean ?? true; } async setSoundEnabled(enabled: boolean): Promisevoid { await this.store?.put(soundEnabled, enabled); await this.store?.flush(); } }四、Preferences vs AppStorage特性PreferencesAppStorage持久化✅ 磁盘❌ 内存适用场景设置、高分运行时共享操作方式异步 get/put同步 get/setUI 绑定❌ 手动✅ StorageLink提示最佳实践是 AppStorage 运行时读写、Preferences 持久化应用退出时从 AppStorage 同步到 Preferences。五、最佳实践存储少量数据适合 100 条键值对调用 flush写入后必须 flush 落盘提供默认值get(key, default)避免空值应用启动时加载aboutToAppear从 Preferences 恢复到 AppStorage总结Preferences 是轻量级持久化键值存储适合游戏设置和最高分。核心要点getPreferences打开存储、put/get读写、flush()持久化、 提供默认值。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源Preferences 官方文档第 133 篇reset第 135 篇rdb第 140 篇AppStorage
1. OpenRAG技术全景解析:当Langflow遇上OpenSearch2023年RAG(检索增强生成)技术领域最值得关注的创新,莫过于OpenRAG框架的横空出世。这个将Langflow可视化编排与OpenSearch向量数据库深度整合的开源方案,正在重新定义…
📅 2026/7/29 13:31:24
本月,美团 LongCat 2.0 已正式开源,总参数 1.6T,平均激活约 48B,动态范围 33B 到 56B,原生支持 1M 超长上下文。这是首个在五万张国产算力卡上完成全流程训练与推理的万亿参数模型。开源只是第一步,让 Long…
📅 2026/7/29 13:31:24
全网热门 Claude 技术文章观点精炼:从 Claude Code 到 Agent Skills 的工程实践 本文汇总整理了全网访问量与讨论度较高的十篇 Claude 相关技术文章,涵盖 Claude Code 最佳实践、Agent SDK、MCP 协议、Subagents 与上下文工程、Agent Skills 等主题&…
📅 2026/7/29 13:31:24
一、64通道为什么不能“接上就算”二、空口校准校的不是SDR接口,而是完整射频链路仅在机箱内部做数字回环或电缆回环,可以验证时钟、采样和基带链路的一致性,却无法覆盖天线、射频馈线、放大器和安装状态带来的差异。空口校准把校准信号通过真…
📅 2026/7/29 21:34:50
OneDragon:基于计算机视觉的游戏自动化框架架构设计与实现 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon
技术…
📅 2026/7/29 21:34:50
深入理解FFTformer-GoPro-fp32架构:FSAS与DFFN模块如何重塑图像恢复技术 【免费下载链接】FFTformer-GoPro-fp32 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/FFTformer-GoPro-fp32
FFTformer-GoPro-fp32是一款基于Apple MLX框架的图像去模…
📅 2026/7/29 21:34:50
好的,请看为您创作的这篇自媒体专业分析文章:作为一名在数字展陈行业摸爬滚打了15年的老兵,我见过太多客户在选互动滑轨屏时踩坑。动辄几万、十几万的投入,选错类型,效果直接减半。今天,我们不谈虚的&#…
📅 2026/7/29 21:34:50
更多请点击:
https://intelliparadigm.com
第一章:AI视频提示词黄金公式的本质与演进 AI视频生成模型(如Sora、Pika、Runway Gen-3)对提示词的结构敏感度远超图像模型——单靠堆砌形容词或场景描述往往导致时序断裂、主体漂移或物…
📅 2026/7/29 21:34:50
从0到1学习JTRevealSidebarDemo:iOS开发者必备的侧边栏实现方案 【免费下载链接】JTRevealSidebarDemo (demo) A carefully implemented iOS objective-c library to mimic the sidebar layout of the new Facebook app and Path 2.0 app. 项目地址: https://gitc…
📅 2026/7/29 21:33:50
解密Seq的核心功能:如何利用Pipeline实现高效基因组数据处理 【免费下载链接】seq A high-performance, Pythonic language for bioinformatics 项目地址: https://gitcode.com/gh_mirrors/se/seq
Seq作为一款高性能的生物信息学专用语言,其Pipel…
📅 2026/7/29 0:00:00
Flask-Blogging插件开发指南:打造属于你的个性化博客功能 【免费下载链接】Flask-Blogging A Markdown Based Python Blog Engine as a Flask Extension. 项目地址: https://gitcode.com/gh_mirrors/fl/Flask-Blogging
Flask-Blogging是一个基于Markdown的Py…
📅 2026/7/29 0:00:00
近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…
📅 2026/7/29 0:01:00
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/29 1:14:44
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/29 1:14:44
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/29 1:14:46
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/29 7:15:11
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/29 17:15:46
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/29 5:15:05