tnblog
首页
视频
资源
登录

鸿蒙开发 首选项封装

1062人阅读 2024/5/7 9:45 总访问:275723 评论:0 收藏:0 手机
分类: 前端

//首选项是什么 首选项是用户设置、偏好或配置
// 当APP启动的时候去加载相关首选项以便于获取相关配置跳过一些配置,比如政策是否同意


import
preferences from '@ohos.data.preferences';

class  PreferencesUtil {
prefMap: Map<string,preferences.Preferences> = new Map()
async loadPreference(context, name: string){
try {
let pref = await preferences.getPreferences(context, name)
this.prefMap.set(name, pref)
console.log('testTag',`加载Prefreences[${name}]成功`);
} catch (e) {
console.log('testTag',`加载Prefreences[${name}]失败`,JSON.stringify(e));
}
}
async putPreference(name:string,key:string,value:preferences.ValueType) {

if(!this.prefMap.has(name)) {
console.log('testTag',`Prefreences[${name}]未初始化`);
return
}

try {
let pref = await this.prefMap.get(name)
await pref.put(key,value)
await pref.flush()
console.log('testTag',`保存Prefreences[${name}]成功`);
} catch (e) {
console.log('testTag',`保存Prefreences[${name}]失败`,JSON.stringify(e));
}
}
async getPreference(name: string, key: string, defaultValue: preferences.ValueType) {

if(!this.prefMap.has(name)) {
console.log('testTag',`Prefreences[${name}]未初始化`);
return
}

try {
let pref = await this.prefMap.get(name)
let value = pref.get(key, defaultValue)

console.log('testTag',`读取Prefreences[${name}]成功`);
return value
} catch (e) {
console.log('testTag',`读取Prefreences[${name}]失败`,JSON.stringify(e));
}
}
}

let preferencesUtil = new PreferencesUtil()

export default preferencesUtil as PreferencesUtil


2.在entryability 目录下找到EntryAbility.ts




import preferencesUtil from '../utils/PreferencesUtils'
onCreate(want, launchParam) {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
preferencesUtil.loadPreference(this.context, 'userMyPreferences')
}



评价
若人生只如初见,愿还是相遇的那个下午,阳光明媚转身一笑便如春暖花开
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术