【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十)

课程地址: 黑马程序员HarmonyOS4+NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发

(本篇笔记对应课程第 30 节)

P30《29.数据持久化-用户首选项》

实现数据持久化在harmonyOS中有很多种方式,比较常见的是以下两种:

读取项目持久化文件,这是一个IO操作,比较耗时,因此是一个异步操作,返回一个Promise对象:

将 routerInfo 类定义到 viewmodel 目录下的一个文件中:

改造首页,增加一个设置字体大小的功能:

实现用户持久化:

1、在 util 目录下定义一个 PreferenceUtil.ts 的首选项工具类文件:

2、定义加载 Preference 方法:

异步写法:

同步写法:

语句后输入 .if 可快速将前面的语句包裹在 if() 中:

3、定义写入 Preference 方法:

4、定义读取 Preference 方法:

5、在 Ability 的 onCreate 钩子函数中加载 Preference:

6、在首页中使用 获取 Preference 方法:


7、字号改变时写入 Preference :

测试:

测试 Preference 必须用模拟器

启动模拟器:

点击 返回 按钮,应用关闭,Ability被销毁:

再次打开应用,发现数据持久化效果成功了!

实践:

DevEco Studio 常用快捷键

相关推荐
LYS_061813 分钟前
寒假学习(12)(HAL库3+模数电12)
学习
lxl130728 分钟前
学习C++(7)初始化列表+隐式类型转换
学习
林深现海31 分钟前
【刘二大人】PyTorch深度学习实践笔记 —— 第三集:梯度下降(凝练版)
pytorch·笔记·深度学习
悠哉悠哉愿意40 分钟前
【物联网学习笔记】按键
笔记·单片机·嵌入式硬件·物联网·学习
愚者游世1 小时前
list Initialization各版本异同
开发语言·c++·学习·程序人生·算法
szcsun51 小时前
机器学习(四)--无监督学习
人工智能·学习·机器学习
.小墨迹1 小时前
apollo中车辆的减速绕行,和加速超车实现
c++·学习·算法·ubuntu·机器学习
三水不滴1 小时前
对比一下RabbitMQ和RocketMQ
经验分享·笔记·分布式·rabbitmq·rocketmq
好奇龙猫1 小时前
【大学院-筆記試験練習:线性代数和数据结构(22)】
学习
困死,根本不会1 小时前
OpenCV摄像头实时处理:九宫格棋盘检测与棋子识别
笔记·opencv·学习