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

相关推荐
alexhilton3 小时前
使用FunctionGemma进行设备端函数调用
android·kotlin·android jetpack
冬奇Lab5 小时前
InputManagerService:输入事件分发与ANR机制
android·源码阅读
张小潇8 小时前
AOSP15 Input专题InputManager源码分析
android·操作系统
RdoZam11 小时前
Android-封装基类Activity\Fragment,从0到1记录
android·kotlin
奥陌陌16 小时前
android 打印函数调用堆栈
android
用户9851200358316 小时前
Compose Navigation 3 深度解析(二):基础用法
android·android jetpack
恋猫de小郭16 小时前
Android 官方正式官宣 AI 支持 AppFunctions ,Android 官方 MCP 和系统级 OpenClaw 雏形
android·前端·flutter
黄林晴17 小时前
Android 17 Beta 2,隐私这把锁又拧紧了
android
Kapaseker17 小时前
研究表明,开发者对Kotlin集合的了解不到 20%
android·kotlin
bqliang18 小时前
Compose 媒体查询 (Media Query API) 🖱️👇🕹️
android·android jetpack