HarmonyOS PersistentStorage存储的数据AppStorage和@StorageProp和@StorageLink都访问不到
PersistentStorage存储的数据AppStorage和@StorageProp和@StorageLink都访问不到。启动时需要判断是否首次启动,以及项目中的一些其它数据使用了PersistentStorage存储,下次进入的时候获取数据不对。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 使用PersistentStorage和AppStorage持久化数据后,再次打开应用仍然访问到的是默认数据
143浏览 • 1回复 待解决
@StorageProp与@StorageLink有什么区别?
1011浏览 • 1回复 待解决
HarmonyOS PersistentStorage存储数据后再次打开app取不到数据
338浏览 • 1回复 待解决
HarmonyOS 咨询一下PersistentStorage存储的数据,重启应用后用AppStorage为空
466浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何使用PersistentStorage和AppStorage实现HarmonyOS应用的数据持久化管理?
240浏览 • 0回复 待解决
HarmonyOS @StorageProp文档不建议开发者使用@StorageLink和AppStorage的双向同步的机制来实现事件通知,那么使用emitter通知就会重复刷新怎么解决
142浏览 • 1回复 待解决
HarmonyOS Preferences 持久存储和 AppStorage 管理之间的数据传递最佳实践
362浏览 • 1回复 待解决
HarmonyOS 使用AppStorage/PersistentStorage持久化数据,杀死进程后重启应用,数据丢失
124浏览 • 1回复 待解决
HarmonyOS PersistentStorage配合AppStorage应该如何使用
641浏览 • 1回复 待解决
@StorageProp(key)/@StorageLink(key)装饰的变量为什么需要在本地进行初始化?
563浏览 • 1回复 待解决
HarmonyOS 为什么PersistentStorage存储的Json数据 , 重启后会消失?
502浏览 • 1回复 待解决
PersistentStorage能否存储大数据量,为什么?
698浏览 • 1回复 待解决
HarmonyOS @LocalStorage 页面存储与@AppStorage 全局存储的区别
691浏览 • 1回复 待解决
HarmonyOS 官方建议关于数据存储和现实的逻辑
181浏览 • 1回复 待解决
HarmonyOS AppStorage存储后只有设置的模块能获取到,其它模块获取不到
498浏览 • 1回复 待解决
HarmonyOS PersistentStorage和Preferences应该怎么选
129浏览 • 1回复 待解决
HarmonyOS 相同包名下系统文件目录data/app/el1和data/app/el2存储的数据有什么不同,preferences存储在data/app/el2的preferences数据访问不到.....,怎么能访问到data/app/el2的preferences数据
317浏览 • 1回复 待解决
HarmonyOS 从应用逻辑使用AppStorage,但是却拿不到存储的key值,显示undefined
276浏览 • 1回复 待解决
PersistentStorage持久化存储问题
826浏览 • 0回复 待解决
LocalStorage和AppStorage有什么区别?
1229浏览 • 2回复 待解决
Run entry方式运行APP有时候获取不到已经存储的Asset和首选项数据
520浏览 • 1回复 待解决
HarmonyOS AppStorage能存储多大的信息量
231浏览 • 1回复 待解决
在使用PersistentStorage存储数据时,如果发现无法从AppStorage、@StorageProp或@StorageLink中访问这些数据,可能是由于以下原因:
1、初始化顺序问题,在使用PersistentStorage.persistProp()接口之前,应先初始化AppStorage中的属性 。如果顺序相反可能会导致数据初始化失败。例如如果先调用PersistentStorage.persistProp(),再调用AppStorage.set(‘key’,‘value’),可能会在AppStorage中创建一个新的属性,但在PersistentStorage中没有对应的属性,从而导致数据无法同步。
2、环境变量冲突,如果在AppStorage中创建了属性,并且使用了Environment变量,可能会导致数据无法在PersistentStorage中存储。因为AppStorage中的属性会覆盖PersistentStorage中的同名属性,而Environment变量又会阻止这种覆盖。
3.数据持久化问题,PersistentStorage.persistProp()接口的调用顺序很重要。如果在PersistentStorage之前访问AppStorage中的属性,可能会导致数据初始化和持久化的顺序不正确,从而无法在PersistentStorage中读取这些数据 。
建议按照以下顺序进行操作:
1、首先在AppStorage中初始化属性。
2、然后调用PersistentStorage.persistProp()接口,确保属性已持久化到文件中 。
3、最后,在组件内部使用@StorageProp或@StorageLink装饰变量,访问这些数据。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-persiststorage-V5#%E4%BB%8Eappstorage%E4%B8%AD%E8%AE%BF%E9%97%AEpersistentstorage%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84%E5%B1%9E%E6%80%A7