HarmonyOS preferences无法持久化存储

import { preferences } from '@kit.ArkData';
import { BusinessError } from '@ohos.base';

const TAG = 'CacheUtils'
export default class CacheUtils{

  static getString(fileName:string,key:string,defaultValue:string):string{
    Log.i(TAG,"getString() fileName="+fileName+" key="+key+" defaultValue="+defaultValue);
    let options: preferences.Options = { name: fileName };
    let dataPreferences = preferences.getPreferencesSync(getContext(), options);
    if (dataPreferences){
      let value = dataPreferences.getSync(key, defaultValue).toString();
      Log.i(TAG,"CacheUtils.getString() fileName="+fileName+" key="+key+" value="+value);
      return value;
    }
    return ''
  }

  static put(fileName:string,key:string,value:string):void{
    Log.i(TAG,"CacheUtils.put() fileName="+fileName+" key="+key+" value="+value);
    let options: preferences.Options = { name: fileName };
    let dataPreferences = preferences.getPreferencesSync(getContext(), options);
    if (dataPreferences){
      dataPreferences.putSync(key, value);
      dataPreferences.flush((err: BusinessError) => {
        if (err) {
          Log.e(TAG,"CacheUtils.put() Failed to flush. Cause: " + err);
          return;
        }
        Log.i(TAG,"CacheUtils.put() Succeeded in flushing.");
      })
    }
  }
}
  • 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.

上述代码存储的内容,关闭app再次打开app后读取不到存储的内容

HarmonyOS
2024-12-25 11:55:22
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
shlp

“flush之后重启App”,需要确认重启App的方法:如果通过DevEco点击‘Run’重新运行项目且在‘Run/Debug Configurations’-‘General’-‘Installation Options’-未勾选‘Keep Application Data’,该操作会清除应用之前缓存在本地的数据。

分享
微博
QQ
微信
回复
2024-12-25 13:19:26
相关问题
HarmonyOS Preferences如何实现持久存储
1149浏览 • 1回复 待解决
HarmonyOS 持久存储方案
1165浏览 • 1回复 待解决
PersistentStorage持久存储问题
1721浏览 • 0回复 待解决
关于数据持久存储要如何实现
1583浏览 • 2回复 待解决
HarmonyOS 元服务本地持久存储
756浏览 • 1回复 待解决
如何实现应用数据持久存储
3403浏览 • 1回复 待解决
HarmonyOS preferences.putSync 存储报错
1115浏览 • 1回复 待解决
HarmonyOS dataPreferences不是持久存储
1318浏览 • 1回复 待解决
HarmonyOS 数据持久demo
887浏览 • 1回复 待解决
HarmonyOS 使用preferences存储的限制
1060浏览 • 1回复 待解决