harmony学习PersistentStorage的应用

2024-03-22 11:45 harmony学习PersistentStorage的应用已关闭评论

需求

当前开发的鸿蒙app增加了“关爱模式”的功能,效果是滑动文字大小进度条码,缩放所有界面的字体大小,设置好字体大小后自动保存本地,重新打开app显示上次保存的结果。

PersistentStorage

运行在UI线程中,仅用于存储简单的数据,比如:字体的大小,登录的用户名,租户账套,登录的组织等。

持久化属性值

//将字体大小18、用户名admin持久化
PersistentStorage.PersistProp('font_size',18)
PersistentStorage.PersistProp('userName','admin')

获取属性值
PersistentStorage对属性值的访问是通过AppStorage实现的。

//访问字体属性font_size
font_size: number = AppStorage.Get('font_size')
//或者使用StorageLink()
@StorageLink('font_size') fontSize:number=19
//或者使用StorageProp()
@StorageProp('userName')  userName:string='小黄'

PersistentStorage和AppStorage关系

PersistentStorage初始化属性值需要在AppStorage之前,前者是将属性值持久化到本地,PersistentStorageAppStorage是通过相同的属性名建立联系,匹配规则:

图片来自鸿蒙官网

图片来自鸿蒙官网

  1. PersistentStorage在调用方法.PersistProp()时,先检查是否存在持久化对象属性名aProp
    • 存在,获取持久化对象属性名aProp对应的属性值,然后使用
    • 不存在,开始检查AppStorage应用全局缓存是否存在
  2. 开始检查AppStorage应用级全局缓存是否存在属性名aProp
    • 存在,获取AppStorage记录的属性aProp名对应的属性值,然后回写到PersistentStorage中
    • 不存在,使用AppStorage初始化一个aProp属性名,属性值为.PersisProp()方法设置的值

那么,可以理解AppStorage对属性名aProp的操作,都会更新PersistentStorage中的值,达到建普通数据持久化到本地的目的。

当前文章价值8.4元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章

来源:每日教程每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://www.teachcourse.cn/3168.html ,谢谢支持!

资源分享

分类:harmony 标签:
如何手动用Eclipse默认的keystore导出安卓应用 如何手动用Eclipse默认的keysto
python编辑以发布wordpress文章 python编辑以发布wordpress文章
Android开发之混淆基础教程 Android开发之混淆基础教程
浅谈短信服务SMS 浅谈短信服务SMS

评论已关闭!