HarmonyOS 鸿蒙Next 关于数据持久化的咨询

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 关于数据持久化的咨询

@StorageLink标记的持久化数据变量,是否会在修改变量值时自动将新数据保存到硬盘中?如何修改和保存持久化数据?

2 回复
class NewsColumn {
  title: string = '';
  id: number = 0;
  constructor(title: string, id: number) {
    this.title = title;
    this.id = id;
  }
}

let columnList: NewsColumn[] = [
  new NewsColumn("推荐", 0),
  new NewsColumn("要闻", 2331),
  new NewsColumn("时政", 2257),
  new NewsColumn("党建", 2258),
  new NewsColumn("人事", 2177),
  new NewsColumn("时评", 2259),
  new NewsColumn("视频", 2586),
  new NewsColumn("服务", 1020),
  new NewsColumn("文化", 3119),
]
PersistentStorage.persistProp("newsColumn",columnList);


PersistentStorage.persistProp('testNum', 20);

@Entry
@Component
struct Storage {
  @State message: string = 'Hello World';
  @StorageLink('testNum') testNum: number = 10;

  @StorageLink('newsColumn') columnList:NewsColumn[] = []

  aboutToAppear(): void {
    console.log('newsColumn ' + JSON.stringify(this.columnList));
  }
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)

        ForEach(this.columnList, (item: NewsColumn, index: number) => {
          Column() {
            Text(item.title)
              .fontSize('15vp')
              .opacity(0.8)
              .fontWeight(400)
              .fontColor(Color.Black)
          }.onClick(() => {
          })
        })

        Text(`${this.testNum}`)
          .onClick(() => {
            // 应用退出时会保存当前结果。重新启动后,会显示上一次的保存结果
            this.testNum += 1;
            this.columnList.splice(1,0,new NewsColumn('文化' + this.testNum,1))
          })
      }
    }
    .height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next 关于数据持久化的咨询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next在数据持久化方面提供了多种机制,以满足不同应用场景的需求。

首先,鸿蒙系统支持使用SQLite数据库进行数据持久化。SQLite是一种轻量级的嵌入式关系型数据库,适合在移动设备和嵌入式系统中使用。开发者可以通过SQL语句对数据库进行增删改查操作,实现数据的持久化存储。

其次,鸿蒙系统还提供了文件存储的方式。开发者可以将数据以文件的形式存储在设备的存储介质中,通过文件读写操作实现数据的持久化。这种方式适用于存储较大规模的数据,如图片、音频、视频等。

此外,鸿蒙系统还支持使用Preference进行数据持久化。Preference是一种轻量级的数据存储方式,适合存储简单的键值对数据。开发者可以通过Preference API对数据进行读取和写入操作,实现数据的持久化存储。

需要注意的是,在选择数据持久化方式时,开发者应根据具体的应用场景和需求进行选择。不同的存储方式在性能、数据安全性、易用性等方面存在差异,因此需要根据实际情况进行权衡。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部