HarmonyOS 使用Preferences时报错崩溃 Error code 15500000

使用Preferences时报错崩溃,如截图所示

HarmonyOS  使用Preferences时报错崩溃 Error code 15500000 -鸿蒙开发者社区

HarmonyOS
2024-08-02 17:50:13
1792浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
xcbaby

看报错,应该是this.context的问题,写了一个PreferenceUtil,可以参考一下

import preferences from '@ohos.data.preferences'; 
 
class PreferenceUtil{ 
  pref: preferences.Preferences | null = null; 
 
  async loadPreference(context:Context){ 
    try { // 加载preferences 
      this.pref = await preferences.getPreferences(context, 'myApppreferencesStor'); 
    } catch (e) { 
    } 
  } 
 
  async putPreferenceValue(key: string, value: preferences.ValueType){ 
    if (!this.pref) { 
      console.debug(`Preferences尚未初始化!`) 
      return 
    } 
    try { 
      // 写入数据 
      this.pref.putSync(key, value) 
      // 刷盘 
      await this.pref.flush() 
    } catch (e) { 
   
    } 
  } 
 
  getPreferenceValue(key: string, defaultValue: preferences.ValueType){ 
    if (!this.pref) { 
        return 
    } 
    try { 
      // 读数据 
      let value =  this.pref.getSync(key, defaultValue) 
      console.debug(`读取Preferences[${key} = ${value}]成功`) 
      return value 
    } catch (e) { 
        return 
    } 
  } 
} 
 
const preferenceUtil = new PreferenceUtil() 
export default preferenceUtil as PreferenceUtil
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.

在onWindowStageCreate里面加载

onWindowStageCreate(windowStage: window.WindowStage): void { 
  // Main window is created, set main page for this ability 
   // 加载用户首选项 
  PreferenceUtil.loadPreference(this.context) 
 
  windowStage.loadContent('pages/Index', (err, data) => { 
  if (err.code) { 
  hi  return; 
} 
}); 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
分享
微博
QQ
微信
回复
2024-08-02 21:59:24


相关问题
HarmonyOS 创建首选项报错code:15500000
929浏览 • 1回复 待解决
preferences:15500000
894浏览 • 1回复 待解决
HarmonyOS 闪退报错 Error code:2100001
798浏览 • 1回复 待解决
HarmonyOS 使用flutter创建packages时报错
827浏览 • 1回复 待解决
使用ohpm发布tgz文件时报错
1705浏览 • 1回复 待解决
使用featureAbility.getContext()时报错如下
1834浏览 • 1回复 待解决
HarmonyOS preferences.putSync 存储报错
1082浏览 • 1回复 待解决
HarmonyOS 获取push token error code 1000900010
778浏览 • 2回复 待解决
HarmonyOS 运行HmosWorld时报错
1054浏览 • 1回复 待解决