[鸿蒙开发] HarmonyOS应用中如何实现数据持久化存储

您所在的位置:网站首页 鸿蒙文件夹加密怎么设置方法 [鸿蒙开发] HarmonyOS应用中如何实现数据持久化存储

[鸿蒙开发] HarmonyOS应用中如何实现数据持久化存储

2024-07-12 06:51| 来源: 网络整理| 查看: 265

1. 介绍

数据存储属于ArkData(方舟数据管理)的一部分。ArkData除了提供数据存储的能力,也提供了数据管理和数据同步能力,比如联系人应用数据可以保存到数据库中,提供数据库的安全、可靠以及共享访问等管理机制,也支持与手表同步联系人信息。

我们这里先了解下数据存储,应用创建的数据库,存储的数据都是会保存到应用沙盒中,当应用卸载时,数据库也会自动删除。

在ArkData中,根据数据特点,数据持久化存储的方式有以下三种:

用户首选项(Preferences):

类似iOS的UserDefaults或者Android的SharedPreference,提供了轻量级配置数据的持久能力;支持订阅数据变化的通知能力;不支持分布式同步,常用于保存应用配置信息、用户偏好设置等;会将文本中的数据全量加载到内存中,访问快,效率高,但不适合存储大量数据;

键值型数据库(KV-Store):

提供了键值型数据库的读写、加密、手动备份以及订阅通知的能力;应用需要使用键值型数据库的分布式能力时,KV-Store会将同步请求发送给DatamgrService由其完成跨设备数据同步;

关系型数据库(RelationStore):

提供了关系型数据库的读写、加密、手动备份以及订阅通知的能力;如果需要使用关系型数据库的分布式能力时,RelationalStore部件会将同步请求发送给DatamgrService由其完成跨设备数据同步比如如果要在App内部存储复杂的数据结构,可以使用关系型数据库; 2.用户首选项 2.1 场景介绍

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。其会将数据缓存放在内存中,当用户读取的时候,能够从内存中快速获取数据,当需要持久化的时候可以使用flush接口将内存中的数据写入持久化文件中。

为了提升数据读写效率,用户首选项会将所有数据存到内存,随着数据量越多,会导致应用占用的内存越大,因此不适合存放过多的数据,适用的场景一般为应用保存用户的个性化设置等。

2.2 运作机制

在这里插入图片描述

从下往上看,用户首选项也是以文件的形式存储到应用沙箱内的,开发者可以将用户首选项持久化文件的内容加载到Preferences实例(一个文件对应一个Preferences实例),系统会通过静态容器将该实例存储在内存中,直到主动从内存中移除该实例或者删除该文件。

对于Key和Value有一些限制:

Key为string类型,非空且长度


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3