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

本文主要是介绍【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

(本篇笔记对应课程第 23 - 24 节)

P23《22.Stage模型-基本概念》

在这里插入图片描述

在这里插入图片描述

一个应用可以有很多的能力,每个能力可以成为一个 Ability Module,比如微信,主要是一个设计APP,其聊天、朋友圈这些能力都属于社交范围,可以放在同一个 Ability Module 中。后来微信又拓展了小程序、视频号等功能,这些功能与社交有了一定不同,可以分别放在不同的 Ability Module 中。

在开发这些 Ability Module 的过程中,势必会存在一些通用的工具、资源、配置文件等,如果每个模块都单独开发与维护,显示是一种浪费。我们会将这些公共的资源抽取出来,放到一个公共的模块,成为 Library Module,是一种共享依赖类型的模块。 Ability Module 就可以引用 Library Module, 使用其中的功能。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

每个module可以单独打包编译,所有 Ability Module 编译时会被编译为 HAP(Harmony Ability Package); Library Module 编译时会被编译为 HSP(Harmony Shared Package),即共享类型的包; HAP类型的包在运行时就可以引用和依赖 HSP 类型的包。

在这里插入图片描述

一个应用的内部可能有各种各样不同的能力,这样就会分为多个不同的 Ability Module,打包后就会有多个 HAP 类型的文件。其中,Entry Module 里主要开发应用进入时的页面、以及整个应用的主能力模块,即最核心的部分。剩余部分即为拓展模块。

一个应用有且只能有一个Entry类型的HAP,可以有多个 Feature 类型的HAP。多个HAP会打包到一起成为一个bundle ,这个 bundle 会有一个名字,可以理解为这个应用的唯一标识。将来还会打包成为一个 .app 类型的文件。

多HAP模式的优势:1、降低各个HAP模块的耦合性;2、用户安装应用时可以选择部分核心功能进行安装

在这里插入图片描述

在这里插入图片描述

在运行期,首先需要有一个 AbilityStage , 在其上展示 Ability , Ability 有不同的类型,常见的有 UIAbility, ExtensionAbility , UIAbility 是包含UI界面的应用组件,除了它还会有 ExtensionAbility ,比如输入法相关的功能。开发主流的应用都是基于 UIAbility 的。

UIAbility 作为UI界面的组件,将来要展示 UI界面,但它不是直接展示UI的。它首先持有一个 WindowStage 的实例对象, WindowStage 与 AbilityStage 类似,都是一个“舞台”,它是组件内窗口的舞台,UI组件内部需要有一个窗口,这个窗口需要展示在一个舞台上, WindowStage 上会持有Window对象,即窗口,窗口里去展示UI界面。

正是由于存在这种“舞台”的机制,ability 和 window 就分隔开了,它们之间就解耦了。将来我们开发一些跨设备的应用时,就可以根据不同设备的窗口单独去做一些处理去适应不同的设备。

在这里插入图片描述

P24《23.Stage模型-应用配置文件》

应用的配置文件分为两类:一类是全局配置文件,放在 AppScope 目录下,如 app.json5 ;另一类就是应用内部的每个模块里,如 entry 模块中的 module.json5 。

在这里插入图片描述

我们打开AppScope下的 app.json5 看一下:

bundleName : 应用的包名,它是应用的唯一标识,一般用域名倒写的方式命名。它是在创建应用时就设置好了。

在这里插入图片描述

在这里插入图片描述

versionCode : 版本信息
versionName : 版本信息
icon : 应用图标,读取的就是media 下的 app_icon 资源
label :

由于是全局配置文件,它读取的也是全局下的 resources 下对应的资源:
在这里插入图片描述

**注意这里的 icon 与 label 不是我们在手机桌面上看到的图标与名称,而是在应用列表中的应用图标与名称,**在这里进入应用列表:

在这里插入图片描述

进入 应用管理:

在这里插入图片描述

滑到最下方,可以看到我们的应用:

在这里插入图片描述

再来看下 entry 模块下的 module.json5 配置文件:

在这里插入图片描述

type: 是该模块的类型,可以有三个值: entry feature shared

在这里插入图片描述
mainElement : 可以理解成当前这个模块的入口,每个模块编译后都是一个HAP文件,都是可以独立运行的,它在独立运行时,需要先创建一个 AblityStage 在这个舞台上去创建一个 Ability。在一个模块内部可以创建多个 Ability。如果这个应用有多个 Ability,默认只能启动一个,默认启动的这个就叫做入口 Ability。mainElement 就是定义入口 Ability 的名字的,它可不是随便起的哦!

在这里插入图片描述
**deviceType :**在一个应用(项目)下可以有多个模块,每个模块将来都会被打包成一个HAP文件,可以给不同的HAP模块设置不同的设备类型

deliveryWithInstall : 前面说了不同的模块可以选择性安装,其中 enter 类型的模块必须安装,而 feature类型的可以选择性安装,deliveryWithInstall 为true就是必须安装,false则是非必须安装

在这里插入图片描述
pages : 当前模块下的所有页面信息,读取的是 profile 下的 main_pages.json 文件中定义的页面信息;

abilities : 模块下如果有多个 abilities,就需要在这里配置 abilities 信息。

由于当前模块 enter 是入口模块,该模块只有一个 ablity 就是入口 ablity ,所以当前 ablity 的 icon 和label就成了应用的 icon 和label 了

在这里插入图片描述

在这里插入图片描述

在这里改不太好,因为 element下是默认的,不同语言环境下还有其配置文件,应该优先改 不同语言环境下的配置。一个个改太麻烦了,我们点击 打开编辑器 按钮,它将多个限定词下的配置项都列出来了,可以直接在这里修改:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

**startWindowBackground:**应用启动时的图标和背景色:

在这里插入图片描述

验证修改效果:

在这里插入图片描述

由于设置有缓存,将设置清理掉再次查看:

在这里插入图片描述
在这里插入图片描述

更多配置信息:
在这里插入图片描述

这篇关于【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081257

相关文章

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas