HarmonyOS PersistentStorage配合AppStorage应该如何使用

PersistentStorage配合AppStorage应该如何使用,

我现在想实现个需求就是在登录授权之后拿到uid和token并将持久化到本地,

再次重启app我通过AppStorage将之前的属性获取,但是并没有成功

HarmonyOS
2024-08-03 13:14:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
wjmfzsz

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-08-04 13:38:09
相关问题
HarmonyOS UI内部使用AppStorage问题
357浏览 • 1回复 待解决
HarmonyOS AppStorage不可调用
381浏览 • 1回复 待解决
关于import应该使用哪种方式
1977浏览 • 1回复 待解决
PersistentStorage怎么存进去
1756浏览 • 1回复 待解决
Preferences、PersistentStorage的区别
695浏览 • 0回复 待解决
Localstorage与AppStorage区别
2052浏览 • 1回复 待解决
PersistentStorage如何持久化一个对象?
2810浏览 • 1回复 待解决
PersistentStorage与Preferences的异同
564浏览 • 1回复 待解决