(一)PersistentStorage 实现应用持久化数据管理
功能概述:
通过 PersistentStorage 类可管理应用持久化数据,能将特定标记的持久化数据链接到 AppStorage 中,再由 AppStorage 接口访问对应数据。持久化后的数据会生成本地 xml 文件保存,文件路径为 /data/app/el2/100/base/<bundleName>/haps/<hapName>/files/persistent_storage。
特性:
-
自动同步:PersistentStorage 会自动和 AppStorage 中数据同步。
-
持久化存储:存储的数据为持久化存储。
- 初始值设置:使用 PersistentStorage.PersistProp (' 属性名 ', 初始值) 设置初始值时,只有第一次会生效。
代码示例及步骤
首先,进行持久化数据的设置
在以下代码中,我们使用 PersistentStorage.persistProp
来设置持久化数据。这里我们设置了一个名为 'num' 的属性,初始值为 0。这一步是创建持久化数据的关键。
// 持久化模块,设置键值及初始化的值
PersistentStorage.persistProp('num',0)
然后,在组件中绑定持久化数据
在 @Entry
装饰的组件中,我们使用 @StorageLink('num')
来将组件中的 num
属性与之前设置的持久化数据 'num' 进行绑定。这样,组件中的数据变化会反映到持久化存储中。
@Entry
@Component
struct Index {
// 绑定模块,使用AppStoage的API,如@StorageLink(键)、@StorageProp(键)修饰,使用AppStoage.get、AppStoage.set等方法调用
@StorageLink('num') num :number = 0
build() {
RelativeContainer() {
Text(this.num.toString())
.onClick(() => {
this.num++
})
.fontSize(50)
.fontWeight(FontWe