当前位置:首页>鸿蒙APP>聊聊鸿蒙的数据持久化之PersistenceV2

聊聊鸿蒙的数据持久化之PersistenceV2

  • 2026-10-11 06:19:05
聊聊鸿蒙的数据持久化之PersistenceV2
鸿蒙目前的持久化方案有如下:
  • 用户首选项方式
  • 键值型数据库

  • 关系型数据库

  • 向量数据库(这个我是一次没用过)

不过我今天要讲的是 PersistenceV2 ,这个方案需要@ComponentV2才能使用,有一定的局限性,但是只要排除这个,我个人认为就是最方便的持久化方案,主要是用来设计UI状态的的持久化。

接下来直接上案例

这是一个鸿蒙的提词器,我需要设置一些字体相关的配置,下面是UI效果

代码

变量声明

@ObservedV2export class TeleprompterSettings {  // 对于复杂对象需要@Type修饰,确保序列化成功   @Trace fontSize: number = 20;   @Trace lineSpacing: number = 20;   @Trace leftSpacing: number = 10;    @Trace rightSpacing: number = 10;    @Trace isBold: boolean = false;    @Trace isFlipHorizontal: boolean = false;    @Trace isUpperCase: boolean = false;    @Trace isIndicatorEnabled: boolean = true;    @Trace indicatorPositionPercent: number = 50;    @Trace indicatorColor: string = "#ffffff";    @Trace indicatorThickness: number = 40;    @Trace indicatorOpacity: number = 65;    @Trace speed: number = 10;    @Trace fontColor: string = defaultThemes[0][0];    @Trace backgroundColor: string = defaultThemes[0][1];    @Trace highlightColor: string = defaultThemes[0][2];    @Trace isKeepHighlightBrackets: boolean = false; }

组件内代码调用

@ComponentV2struct Teleprompter {  @Local settings: TeleprompterSettings =  PersistenceV2.connect(TeleprompterSettings, () => new TeleprompterSettings())!;}

后续你就可以直接这样改变变量,并且自动做持久化处理

this.settings.fontSize = 30 // 例如这里是改变字体大小

总结:只要是保存UI状态的持久化,都可以用这个来实现,相当简单好用,好了,下课。

最新文章

随机文章