鸿蒙HarmonyOS 4-数据持久化
用户首选项
- 用户首选项(Preference)为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据。
- 轻量化数据指的是结构简单,能够用Key-Value表示,同时占用内存小的数据

- 导入首选项模块1 import dataPreference from '@ohos.data.preferences' 
- 获取首选项实例,读取指定文件1 
 2
 3
 4
 5
 6
 7datePreference.getPreferences(this.context, 'MyAppPreferences')//UIAbility和Preferences实例名称 
 .then(preferences => {
 //获取成功
 })
 .catch(reason => {
 //获取失败
 })
- 数据操作1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12// 3.1 写入数据,如果已经存在则覆盖,可利用.has()判断是否存在 
 Preferences.put('key', val)
 .then(() => preferences.flush()) //刷到磁盘
 .catch(reason => {}) //异常处理
 // 3.2 删除数据
 preferences.delete('key')
 .then(() => {})
 .catch(reason => {})
 // 3.3 查询数据
 preferences.get('key', 'defaultValue')
 .then(value => console.log('查询成功'))
 .catch(reason => console.log('查询失败'))说明: 
 Key为string类型,要求非空且长度不超过80字节
 Value可以是string、number、boolean以及以上类型数组,大小不超过8192字节
 数据量建议不超过一万条
加载实例

- 上图为异步写法

- 上图为同步写法,定义方法为async,然后在promise值前加上await,等待promise结果。

- 如果写在其他文件记得导出

- 在启动应用时加载数据,在EntryAbility.ts文件中的onCreate()钩子当中添加
- 同时加上async和await同步操作
读写实例

- 写入方法的参数包括Preference实例名称、Key和value
- 先判断是否存在,然后写入数据
- 等待刷盘
- 也可以添加try catch获取异常

- 读取方法的参数包含Preference实例名称、Key和默认值defaultValue
- 先判断是否存在,再读取数据
- 直接return返回数据
| 1 | //在打开页面时读取数据 | 
- 在预览器不能使用preference,所以需要使用鸿蒙设备或者模拟器打开预览。
关系型数据库
- 关系型数据库(RDB)是基于SQLite组件提供的本地数据库,用于管理应用中的结构化数据。例如记账本、备忘录。
初始化数据库
- 导入关系型数据库模块
| 1 | import relationalStore from '@ohos.data.relationalStore'; | 
- 初始化数据库表
| 1 | // 2.1 rdb配置 | 
- 为了方便使用,可以将rdbStore添加到成员变量当中
增、删、改数据
- 新增数据
| 1 | // 1.1 准备数据 | 

- 将返回值设定为promise,是个id,这样就可以直接使用来调取这个数据了。
- 修改
| 1 | // 2.1 要更新的数据 | 

- 同样是返回一个promise,让调用的地方去处理
- 删除
| 1 | // 3.1 查询条件 | 

- 与修改方法差不多
查询数据
- 查询数据
| 1 | // 1.1 查询条件 | 
- 解析结果
| 1 | // 2.1 准备数组保存结果 | 

- 最后return数组,是个promise。
 评论
