鸿蒙首选项数据持久化
1. ets/common/util/PreferencesUtils.ets
import { common } from '@kit.AbilityKit'; import { preferences } from '@kit.ArkData'; class PreferencesUtil { prefMap: Map<string, preferences.Preferences> = new Map() /*加载首选项*/ loadPreference(context: common.UIAbilityContext, name: string) { try { let options: preferences.Options = { name: name }; let pref = preferences.getPreferencesSync(context, options) this.prefMap.set(name, pref) } catch (e) { console.error('testTag', `加载首选项${name}失败`, JSON.stringify(e)) } } /*写入首选项*/ putPreferences(name: string, key: string, value: string) { if (!this.prefMap.has(name)) { console.error('testTag', `首选项${name}尚未初始化1`) return } this.prefMap.get(name)?.putSync(key, value) this.prefMap.get(name)?.flush() } /*读取首选项*/ readPreferences(name: string, key: string, defaultValue: string) { if (!this.prefMap.has(name)) { console.error('testTag', `首选项${name}尚未初始化2`) return '' } return this.prefMap.get(name)?.getSync(key, defaultValue) } } const preferencesUtil = new PreferencesUtil() export default preferencesUtil as PreferencesUtil
2. entry/src/main/ets/entryability/EntryAbility.ets onWindowStageCreate 方法添加
/*加载首选项*/ preferencesUtil.loadPreference(this.context,'myStore')
3. entry/src/main/ets/pages/Index.ets 读取首选项数据
aboutToAppear(): void { this.flag = String(preferencesUtil.readPreferences('myStore', 'flag', '-1')) console.info('testTag',this.flag) }
If the copyright belongs to the longfei, please indicate the source!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
2016-10-10 cURL范例(包括错误输出和详情输出)