import preferences from '@ohos.data.preferences'; //导包 //用户首选项 export class PreferencesUtil{ prefMap:Map<string,preferences.Preferences>=new Map() async loadPreference(context,name:string){ //定义一个方法来加载这个实例 async是一个关键字,定义一个异部函数 //第一种方法 // preferences.getPreferences(context,name) //用这种方法来获取是一个将来的结果,要判断是否成功获取 // .then(pref=>{ // this.prefMap.set(name,pref) //成功 // console.log('testTag',`加载Preferences[${name}成功]`) // }) // .catch(reason=>{ // console.log('testTag',`加载Preferences[${name}失败]`,JSON.stringify(reason)) //失败 // }) //第二种方法 try { let prefMap =await preferences.getPreferences(context,name) this.prefMap.set(name,prefMap) console.log('testTag',`加载Preferences[${name}成功]`) }catch (e){ console.log('testTag',`加载Preferences[${name}失败]`,JSON.stringify(e)) } } async putPreferenceValue(name:string,key:string,value:preferences.ValueType){ if (!this.prefMap.has(name)) { console.log('testTag',`Preferences[${name}尚未初始化]`) return } try { //增加数据 let pref=this.prefMap.get(name) //获取 await pref.put(key,value) //写入数据 await pref.flush() //刷盘 console.log('testTag',`保存Preferences[${name}.${key}=${value}成功]`) }catch (e){ console.log('testTag',`保存Preferences[${name}.${key}=${value}失败]`,JSON.stringify(e)) } } async getPreferenceValue(name:string,key:string,defaultValue:preferences.ValueType){ if (!this.prefMap.has(name)){ console.log('testTag',`Preferences[${name}尚未初始化]`) return } try { let pref=this.prefMap.get(name) let value=await pref.get(key,defaultValue) //读取 console.log('testTag',`读取Preferences[${name}.${key}=${value}成功]`) return value }catch (e){ console.log('testTag',`读取Preferences[${name}.${key}]`,JSON.stringify(e)) } } } const preferencesUtil=new PreferencesUtil() //定义一个常量preferencesUtil,把PreferencesUtil()赋值给preferencesUtil,是属于初始化 export default preferencesUtil as PreferencesUtil //默认导出
08-12
1803