HarmonyOS 咨询一下PersistentStorage存储的数据,重启应用后用AppStorage为空

HarmonyOS 咨询一下PersistentStorage存储的数据,重启应用后用AppStorage为空。

HarmonyOS
2024-10-24 13:17:27
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

开发者PersistentStorage和UIContext相关联,需要在UIContext明确的时候才可以调用,可以通过在runScopedTask里明确上下文。如果没有在UIContext明确的地方调用,将导致无法持久化数据。

在onWindowStageCreate中调用示例如下:

windowStage.loadContent('pages/Index', (err, data) => {  
  if (err.code) {  
    hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');  
    return;  
  }  
  let window = windowStage.getMainWindow();  
  window.then(win => {  
    let uiContext = win.getUIContext();  
    uiContext.runScopedTask(() => {  
      PersistentStorage.persistProp('aProp',  
        47);  
//       AppStorage.setOrCreate("aProp", 50)  
//       console.log(`11 $${AppStorage.get('aProp')}`)  
//     })  
//   })  
//   hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');  
// })

开发者用户首选项(@ohos.data.preferences)为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。,具体可参考以下文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/data-persistence-by-preferences-V5

分享
微博
QQ
微信
回复
2024-10-24 15:12:20
相关问题
HarmonyOS 重启应用后cookie丢失
221浏览 • 1回复 待解决
请教一下关于应用分栏实现
750浏览 • 1回复 待解决
请问一下鸿蒙pad应用该如何签名?
8085浏览 • 1回复 待解决
PersistentStorage持久化存储问题
446浏览 • 0回复 待解决
app.getInfo获取应用配置信息
630浏览 • 1回复 待解决
实现单例模式数据存储
997浏览 • 1回复 待解决
info 获取是失败
1775浏览 • 1回复 待解决