HarmonyOS PersistentStorage存储的数据AppStorage和@StorageProp和@StorageLink都访问不到
PersistentStorage存储的数据AppStorage和@StorageProp和@StorageLink都访问不到。启动时需要判断是否首次启动,以及项目中的一些其它数据使用了PersistentStorage存储,下次进入的时候获取数据不对。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS PersistentStorage存储数据后再次打开app取不到数据
24浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何使用PersistentStorage和AppStorage实现HarmonyOS应用的数据持久化管理?
112浏览 • 0回复 待解决
HarmonyOS 咨询一下PersistentStorage存储的数据,重启应用后用AppStorage为空
342浏览 • 1回复 待解决
@StorageProp与@StorageLink有什么区别?
855浏览 • 1回复 待解决
HarmonyOS Preferences 持久存储和 AppStorage 管理之间的数据传递最佳实践
178浏览 • 1回复 待解决
HarmonyOS @StorageProp文档不建议开发者使用@StorageLink和AppStorage的双向同步的机制来实现事件通知,那么使用emitter通知就会重复刷新怎么解决
51浏览 • 1回复 待解决
HarmonyOS PersistentStorage配合AppStorage应该如何使用
539浏览 • 1回复 待解决
HarmonyOS 为什么PersistentStorage存储的Json数据 , 重启后会消失?
401浏览 • 1回复 待解决
HarmonyOS AppStorage存储后只有设置的模块能获取到,其它模块获取不到
404浏览 • 1回复 待解决
HarmonyOS 官方建议关于数据存储和现实的逻辑
37浏览 • 1回复 待解决
PersistentStorage能否存储大数据量,为什么?
463浏览 • 1回复 待解决
HarmonyOS @LocalStorage 页面存储与@AppStorage 全局存储的区别
585浏览 • 1回复 待解决
HarmonyOS 相同包名下系统文件目录data/app/el1和data/app/el2存储的数据有什么不同,preferences存储在data/app/el2的preferences数据访问不到.....,怎么能访问到data/app/el2的preferences数据
104浏览 • 1回复 待解决
HarmonyOS 从应用逻辑使用AppStorage,但是却拿不到存储的key值,显示undefined
0浏览 • 0回复 待解决
@StorageProp(key)/@StorageLink(key)装饰的变量为什么需要在本地进行初始化?
468浏览 • 1回复 待解决
HarmonyOS PersistentStorage和Preferences应该怎么选
49浏览 • 1回复 待解决
Run entry方式运行APP有时候获取不到已经存储的Asset和首选项数据
340浏览 • 1回复 待解决
PersistentStorage持久化存储问题
592浏览 • 0回复 待解决
#鸿蒙通关秘籍#在TreeMap中如何有序存储和访问键值对?
118浏览 • 1回复 待解决
数据持久化存储,HarmonyOS如何使用简单数据和复杂数据?
426浏览 • 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