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

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

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

P29《28.网络连接-第三方库axios》

要想使用第三方库axios,需要先安装ohpm,因为 axios 是第三方库,不是鸿蒙官方提供的,所以需要先安装 ohpm,它是 Harmony Packages Manager 的简写,是鸿蒙的包管理工具。

第一步:下载和安装 ohpm:


点击 "点击链接获取",跳转到如下页面,下载相应版本:

下载完成后将 该压缩包文件放到习惯使用的目录下并解压:

进入 ohpm/bin 目录,并在此目录下打开命令行窗口:

在命令行窗口中执行初始化:init.bat

但此时仅实现了在bin目录下命令行有效,在其它目录下无效:

如果想让其在所有目录下都生效,需要将该目录配置到环境变量中:

win10配置环境变量如下:右键"我的电脑",点击"属性",找到"高级系统设置":

在 path 中配置环境变量:

配置完成后在任一目录下打开命令行窗口,都可以正常使用 ohpm 命令行了。

第二步:下载和安装 axios

如果用到其它第三方库,使用方法可以查看鸿蒙三方库中心仓:ohpm.openharmony.cn/#/cn/home


项目目录下有一个文件:oh-package.json5 ,这个文件即类似于项目依赖管理的文件:

在根目录下执行安装命令,安装完成后会发现依赖文件中显示出了 axios 的依赖;同时在 oh_modules(项目的第三方库和其他依赖) 下也能看到 axios 依赖:

axios() 第二个配置项中,params 代表使用get方法传递的参数,与拼接在url之后效果相同;data代表使用get方法以外的方法时需要传递的参数。

实践:

实践中遇到的问题:

从该篇笔记中找到原因与解决方案:
go------error记录

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

相关推荐
2601_9498333924 分钟前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
丝斯201133 分钟前
AI学习笔记整理(66)——多模态大模型MOE-LLAVA
人工智能·笔记·学习
军军君011 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three
bylander2 小时前
【AI学习】TM Forum《Autonomous Networks Implementation Guide》快速理解
人工智能·学习·智能体·自动驾驶网络
kida_yuan2 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
xxxmine2 小时前
redis学习
数据库·redis·学习
laplace01232 小时前
Claude Skills 笔记整理
人工智能·笔记·agent·rag·skills
三块可乐两块冰2 小时前
【第二十八周】机器学习笔记二十九
笔记
血小板要健康3 小时前
Java基础常见面试题复习合集1
java·开发语言·经验分享·笔记·面试·学习方法
2603_949462103 小时前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter