HarmonyOS 关于dataPreferences.Preferences覆盖安装丢失数据?

dataPreferences.Preferences覆盖安装丢失数据,我这边开发工具重新运行安装,数据就没有了。直接杀进程,都是存在的

put(key: string, value: dataPreferences.ValueType, callback?: Function) {
  try {
    this.preferences.then(edit => {
      edit.put(key, value);
      edit.flush();
      if (callback) {
        callback(true);
      }
    }).catch(() => {
      if (callback) {
        callback(false);
      }
    })
  } catch (e) {
    LogUtil.e(`${key}保存异常,原因:${e}`)
    if (callback) {
      callback(false);
    }
  }
}

/**
 * 获取保存的字符串
 * @param key 键
 * @param callback 回调
 */
get(key: string, callback: Function, defaultValue?: dataPreferences.ValueType) {
  try {
    this.preferences.then(edit => {
      edit.get(key, defaultValue).then(value => {
        // LogUtils.i(`${key}取值为${value}`)
        callback(value)
      })
    }).catch(() => {
      callback(defaultValue);
    })
  } catch (e) {
    LogUtil.e(`${key}获取异常,原因:${e}`)
    callback(defaultValue);
  }
}
阅读 582
1 个回答

Preferences是应用级存储,卸载app后会清除。

可以尝试在 edit configuration 中 勾选 keep Application Data,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进