HarmonyOS鸿蒙Next中ohos data preferences保存数据以及获取数据问题

HarmonyOS鸿蒙Next中ohos data preferences保存数据以及获取数据问题 下面代码为将数据添加到preferences

let preferences = dataPreferences.getPreferences(context, PreferenceUtil.PreferenceName);



preferences.putSync(key, value);

preferences.flush();


下面代码为获取preferences中保存的数据


let preferences = dataPreferences.getPreferences(context, PreferenceUtil.PreferenceName);

let value = preferences.getSync(key,"");


1. 使用上述方法保存一个key和value值,不关闭应用时可以获取到对应的值,但在关闭后再去获取就为空,请问该如何处理才能在退出应用再重新打开应用后可以获取到值?

2. 在DevEco Studio中如何查看已保存的preferences数据?

更多关于HarmonyOS鸿蒙Next中ohos data preferences保存数据以及获取数据问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
  1. preferences存入数据到Preferences实例后,需要使用flush()方法实现数据持久化。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-preferences-V5#flush

另外,IDE每次run项目(执行的命令都是先卸载当前推的hap包,再把要run的项目的hap包推上去),应用都会被卸载,其在设备上产生的数据库文件及临时文件也会被移除。如果需要保存数据,可以在‘Run/Debug Configurations’-‘General’-‘Installation Options’-中勾选‘Keep Application Data’。

  1. 首选项存储沙箱路径data/app/el2/100/base/<bundleName>/haps/entry/preferences 在DevEco Studio中可通过右下角的Device File Browser查看设备文件。

更多关于HarmonyOS鸿蒙Next中ohos data preferences保存数据以及获取数据问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,ohos.data.preferences 是用于轻量级数据存储的模块,主要用于保存和获取应用的配置数据或用户偏好设置。它基于键值对的形式存储数据,支持多种数据类型,如字符串、整型、布尔值等。

保存数据时,首先需要通过 Preferences.getPreferences(context, name) 方法获取一个 Preferences 实例,其中 context 是应用的上下文,name 是存储文件的名称。然后,使用 Preferences.putXxx(key, value) 方法保存数据,其中 Xxx 表示数据类型,如 putStringputInt 等。最后,调用 Preferences.flush() 方法将数据同步到磁盘。

获取数据时,同样需要先获取 Preferences 实例,然后使用 Preferences.getXxx(key, defaultValue) 方法获取数据,defaultValue 是当键不存在时返回的默认值。

例如,保存一个字符串数据:

let preferences = await dataPreferences.getPreferences(context, 'myPreferences');
await preferences.putString('key', 'value');
await preferences.flush();

获取该字符串数据:

let preferences = await dataPreferences.getPreferences(context, 'myPreferences');
let value = await preferences.getString('key', 'default');

ohos.data.preferences 存储的数据是应用私有的,其他应用无法访问。数据存储在应用的沙盒目录中,路径为 /data/app/.../preferences/

在HarmonyOS鸿蒙Next中,使用ohos.data.preferences库进行数据存储和获取非常简便。首先,通过getPreferences()方法获取Preferences实例,然后使用putString()putInt()等方法存储数据。数据存储后,调用flush()方法确保数据持久化。获取数据时,使用getString()getInt()等方法读取。例如:

Preferences preferences = getPreferences("my_prefs");
preferences.putString("key", "value");
preferences.flush();

String value = preferences.getString("key", "default");

确保在UI线程外进行耗时操作,避免阻塞主线程。

回到顶部