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中的值,达到建普通数据持久化到本地的目的。

你可能感兴趣的文章

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

资源分享

分类:harmony 标签:
自定义View浅谈(一) 自定义View浅谈(一)
纠结怎么开启Windows图片阅览功能呢? 纠结怎么开启Windows图片阅览功
python对文件的操作 python对文件的操作
Android开发之深入理解Builder设计模式 Android开发之深入理解Builder

评论已关闭!