鸿蒙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
。
评论