持久化数据的 API 调用 - HarmonyOS 鸿蒙Next
持久化数据的 API 调用 - HarmonyOS 鸿蒙Next 从AppStorage中访问PersistentStorage初始化的属性,使用方式是在PersistentStorage之后访问AppStorage中的属性
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-persiststorage-V5
但是不太清楚是调用逻辑还是其它问题,应用重启后,读取不到持久化的数据
更多关于持久化数据的 API 调用 - HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1、可能是存储变量类型不符合,对象中的成员方法不支持持久化,不支持嵌套对象(对象数组,对象的属性是对象等)。因为目前框架无法检测AppStorage中嵌套对象(包括数组)值的变化,所以无法写回到PersistentStorage中。
2、PersistentStorage调用时机错误,PersistentStorage和UI实例相关联,持久化操作需要在UI实例初始化成功后(即loadContent传入的回调被调用时)才可以被调用,早于该时机调用会导致持久化失败。
// EntryAbility.ets
onWindowStageCreate(windowStage: window.WindowStage): void {
windowStage.loadContent('pages/Index', (err) => {
if (err.code) {
return;
}
PersistentStorage.persistProp('aProp', 47);
});
}
或者使用Preferences 首选项进行存储
3、排查一下是否在程序中持久化了一个空的数据,即在需要持久化的数据还没有获取到的时候就对该数据进行持久化,导致持久化了一个空数据
更多关于持久化数据的 API 调用 - HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html