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

相关推荐
哆啦A梦的口袋呀几秒前
基于Python学习《Head First设计模式》第七章 适配器和外观模式
python·学习·设计模式
笑鸿的学习笔记1 分钟前
虚幻引擎5-Unreal Engine笔记之SET节点的输出引脚获取设置后的最新变量值
笔记·ue5·虚幻
恰薯条的屑海鸥3 分钟前
零基础在实践中学习网络安全-皮卡丘靶场(第十期-Over Permission 模块)
学习·安全·web安全·渗透测试·网络安全学习
草莓熊Lotso6 分钟前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
快乐觉主吖15 分钟前
Unity的日志管理类
android·unity·游戏引擎
明月看潮生23 分钟前
青少年编程与数学 01-011 系统软件简介 06 Android操作系统
android·青少年编程·操作系统·系统软件·编程与数学
snetlogon2026 分钟前
JDK17 Http Request 异步处理 源码刨析
android·网络协议·http
东京老树根39 分钟前
SAP学习笔记 - 开发27 - 前端Fiori开发 Routing and Navigation(路由和导航)
笔记·学习
消失的旧时光-19431 小时前
Android USB 通信开发
android·java
吃汉堡吃到饱1 小时前
【Android】浅析View.post()
android