用户首选项(Preferences):通常用于保存应用的配置信息。数据通过文本的形式保存在设备中,应用使用过程中会将文本中的数据全量加载到内存中,所以访问速度快、效率高,但不适合需要存储大量数据的场景。无法保证进程并发安全
键值型数据库(KV-Store):一种非关系型数据库,其数据以“键值”对的形式进行组织、索引和存储,其中“键”作为唯一标识符。适合很少数据关系和业务关系的业务数据存储,同时因其在分布式场景中降低了解决数据库版本兼容问题的复杂度,和数据同步过程中冲突解决的复杂度而被广泛使用。相比于关系型数据库,更容易做到跨设备跨版本兼容。
关系型数据库(RelationalStore):一种关系型数据库,以行和列的形式存储数据,广泛用于应用中的关系型数据的处理,包括一系列的增、删、改、查等接口,开发者也可以运行自己定义的SQL语句来满足复杂业务场景的需要。
具体步骤查阅文档 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-data-persistence-V5
在逻辑中使用
// 使用前初始化(直接放在 get 和 set 之前),如果数据不存在才会赋值
PersistentStorage.persistProp<string>("cookies", "")
// get
let cookies = AppStorage.get<string>("cookies")
// save
AppStorage.setOrCreate("cookies", cookies)
在 UI 中使用
PersistentStorage.persistProp<string>("supperUserInfo", "")
@Component
export struct PersonComponent {
@StorageLink('supperUserInfo') supperUserInfo: string = "";
build() {
Text(this.supperUserInfo)
}
}