【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 常用快捷键

相关推荐
吃好睡好便好8 分钟前
在Matlab中用sphere( )函数绘制球面图
开发语言·前端·javascript·学习·算法·matlab·信息可视化
爱喝水的鱼丶12 分钟前
SAP-ABAP:第二篇:实操避坑篇——ABAP Hello World程序创建、语法校验到调试运行全流程指南
运维·服务器·数据库·学习·sap·abap
不断高歌17 分钟前
MySQL基础随堂笔记4
笔记·mysql
南境十里·墨染春水20 分钟前
线程池学习(三) 实现固定线程池
开发语言·c++·学习
wx—chenyg525121 分钟前
小红薯笔记种草科普引流
笔记
KKei163822 分钟前
Flutter for OpenHarmony学习小组组队与打卡APP技术文章
学习·flutter·华为·harmonyos
GHL28427109022 分钟前
MinerU学习
学习·ai
李白你好22 分钟前
AI 辅助生成的红队对抗技术笔记
人工智能·笔记
ん贤26 分钟前
Kubernetes(k8s) 详细笔记
笔记·容器·kubernetes
charlie11451419128 分钟前
通用GUI编程技术——图形渲染实战(四十三)——D3D12设计哲学:显式控制与性能解锁
学习·3d·c·图形渲染·win32