HarmonyOS-初级(二)
文章目录
- 应用程序框架
- UIAbility
- ArkUI框架
🏡作者主页:点击!
🤖HarmonyOS专栏:点击!
⏰️创作时间:2024年11月28日13点10分
应用程序框架
应用程序框架可以被看做是应用模型的一种实现方式。
Stage模型设计思想
- 为复杂应用而设计
- 原生支持应用组件的跨端迁移和多段协同
- 支持多设备和多窗口形态
- 平衡应用能力与系统管控成本
Module.json5包括
- 模块名称
- 模块类型
- 以及当前模块可以运行在哪类设备上
- 另外还定义了当前模块的应用组件的配置信息:UIAbility名称,基本描述,入口代码路径
- 模块的路由表信息(跳转页面名称、页面所在模块名称、页面路径等路由配置信息)
- 向系统申请权限信息
oh-package.json5
- 主要定义了名称、版本号、简介、作者以及代码中依赖的三方库信息
资源文件
- 应用资源目录:Appscope----resources----base----
- 模块级资源:Entry----src----main----resources
Dev Eco 默认会在 profile 文件下生成 main_pages 配置文件
- 定义了模块页面的路由集合
- rawfile中的资源会被直接打包进应用,不经过编译也不会赋予资源文件ID
UIAbility
UIAbility是一种包含用户界面的应用组件,用于和用户进行交互,UIAbility是系统调度资源的单元,提供窗口用于绘制
、UI Ability 的生命周期
- UIAbility Start
- Create:应用初始化、变量定义、资源加载
- WindowStageCreate(管理UI功能的两个生命周期回调)
- Foreground:进入此状态之前系统会创建一个WindowStageCreate回调,在该回调中可通过loadContent方法设置应用需要加载的页面,并根据需要订阅windowStage事件
- Background:(fore…和back…分别在UIAbility实例切换到前台或后台时触发)
- WindowStageDestroy(管理UI功能的两个生命周期回调)(UIAbility实例销毁之前会先进入 WindowStageDestroy中释放资源)
- Destroy:用户从最近任务关闭任务时,可以销毁 UIAbility 实例,此时会触发Destroy状态
- UIAbility End
ArkUI框架
- 极简开发
- 高性能
- 跨设备
- 跨平台
声明式开发范式
基于ArkTS的声明式开发范式核心:数据驱动UI页面更新
常见组件:
- Button按钮,类型包括胶囊按钮,圆形按钮,普通按钮。作容器组件使用时可添加子组件实现包含文字,图片等元素的按钮
- Text:文本组件,通常用于显示用户视图
- Image:按钮中的icon、网络图片、本地图片等
- 线性布局 Row、Column
Column:容器内子元素按照垂直方向排列
Row:容器内子元素按照水平方向排列- List列表:复杂的容器
- 网格布局:具有较强的页面均分能力,子组件占比控制能力,是一种重要自适应布局
Grid / Gridltem- swiper 轮播组件:本身是一个容器,当设置了多个子组件后,可以对这些子组件进行轮播显示
- WaterFlow:由行和列分割的单元格组成,通过容器自身排列,将不同大小的项目自上而下进行布局
- PatternLock:九宫格输入密码组件
- slider:验证码拖动验证的场景
- Tabs:通过页签进行内容视图切换的容器组件
- CustomDialog:自定义弹窗组件
- CalenderPicker:月历日历选择器
- TextPicker:滚动选择
- DatePicker:日期滚动选择
- TimePicker:时间滚动选择
Dev Eco Studio关键能力
- 一致性
- 实时预览、双向预览
- 多维度
ArkUI通过类自然语言的UI描述和组合,精简了开发语法,并拥有多态组件、自定义组件
ArkTS是基于TypeScript的声明式语法扩展,通过状态管理可以实现组件内组件间跨设备的交互体验,同时通过XComponent组件实现ArkTS和C++的混合开发,实现渲染后端的能力
相关文章:

HarmonyOS-初级(二)
文章目录 应用程序框架UIAbilityArkUI框架 🏡作者主页:点击! 🤖HarmonyOS专栏:点击! ⏰️创作时间:2024年11月28日13点10分 应用程序框架 应用程序框架可以被看做是应用模型的一种实现方式。 …...
Unity开启外部EXE程序
Unity开启外部EXE using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; using System.Threading.Tasks; using UnityEditor; using UnityEngine;public class Unity_OpenExe : Mono…...
CTF之密码学(埃特巴什码 )
一、基本原理 埃特巴什码的原理是:字母表中的最后一个字母代表第一个字母,倒数第二个字母代表第二个字母,以此类推。在罗马字母表中,对应关系如下: 常文(明文):A B C D E F G H I …...
深入解析 PyTorch 的 torch.load() 函数:用法、参数与实际应用示例
深入解析 PyTorch 的 torch.load() 函数:用法、参数与实际应用示例 函数 torch.load() 是一个在PyTorch中用于加载通过 torch.save() 保存的序列化对象的核心功能。这个函数广泛应用于加载预训练模型、模型的状态字典(state dictionaries)、…...

ros2键盘实现车辆: 简单的油门_刹车_挡位_前后左右移动控制
参考: ROS python 实现键盘控制 底盘移动 https://blog.csdn.net/u011326325/article/details/131609340游戏手柄控制 1.背景与需求 1.之前实现过 键盘控制 底盘移动的程序, 底盘是线速度控制, 效果还不错. 2.新的底盘 只支持油门控制, 使用线速度控制问题比较多, 和底盘适配…...
ubuntu安装chrome无法打开问题
如果在ubuntu安装chrome后,点击chrome打开没反应,可以先试着在terminal上用命令打开 google-chrome 如果运行命令显示 Chrome has locked the profile so that it doesnt get corrupted. If you are sure no other processes are using this profile…...

CTF-RE 从0到N:Chacha20逆向实战 2024 强网杯青少年专项赛 EnterGame WP (END)
只想解题的看最后就好了,前面是算法分析 Chacha20 c语言是如何利用逻辑运算符拆分变量和合并的 通过百度网盘分享的文件:EnterGame_9acdc7c33f85832082adc6a4e... 链接:https://pan.baidu.com/s/182SRj2Xemo63PCoaLNUsRQ?pwd1111 提取码:1…...

vue3 ajax获取json数组排序举例
使用axios获取接口数据 可以在代码中安装axios包,并写入到package.json文件: npm install axios -S接口调用代码举例如下: const fetchScore async () > {try {const res await axios.get(http://127.0.0.1:8000/score/${userInput.v…...

web安全之信息收集
在信息收集中,最主要是就是收集服务器的配置信息和网站的敏感信息,其中包括域名及子域名信息,目标网站系统,CMS指纹,目标网站真实IP,开放端口等。换句话说,只要是与目标网站相关的信息,我们都应该去尽量搜集。 1.1收集域名信息 知道目标的域名之后,获取域名的注册信…...
报错:java: 无法访问org.springframework.boot.SpringApplication
idea报错内容: java: 无法访问org.springframework.boot.SpringApplication 报错原因: <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4…...

线上+线下≠新零售,6大互通诠释新零售的核心要点-亿发
新零售,这个词汇在近年来频繁出现在我们的视野中,它不仅仅是线上与线下的简单相加,而是一场深刻的商业变革。本文将通过6大互通的核心要点,为您揭示新零售的真正内涵。 1. 商品的互联互通 新零售模式下,商品的互联互…...

GitHub Copilot革命性更新:整合顶尖AI模型,如何重塑开发体验?
在技术快速发展的今天,代码辅助工具已成为提升开发效率的利器。今天,我们带来了一个激动人心的消息——GitHub Copilot宣布引入多模型选择功能,这不仅是技术上的一次飞跃,更是对开发者工作流程的一次革新。 多模型选择:…...

AWS账户是否支持区域划分?
在云计算的世界中,亚马逊网络服务(AWS)凭借其全球化的基础设施和丰富的服务选项受到许多企业和开发者的青睐。一个常见的问题是:AWS账户是否支持区域划分?为了回答这个问题,我们九河云一起深入了解AWS的区域…...

Easy Excel 通过【自定义批注拦截器】实现导出的【批注】功能
目录 Easy Excel 通过 【自定义批注拦截器】实现导出的【批注】功能需求原型:相关数据:要导出的对象字段postman 格式导出对象VO 自定义批注拦截器业务代码: 拦截器代码解释:详细解释:格式优化: Easy Excel…...
整数对最小和(Java Python JS C++ C )
题目描述 给定两个整数数组array1、array2,数组元素按升序排列。 假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素, 并对取出的所有元素求和,计算和的最小值。 注意: 两对元素如果对应于array1、array2中的两个下标均相同,则视为同一对元…...

MySQL 启动失败问题分析与解决方案:`mysqld.service failed to run ‘start-pre‘ task`
目录 前言1. 问题背景2. 错误分析2.1 错误信息详解2.2 可能原因 3. 问题排查与解决方案3.1 检查 MySQL 错误日志3.2 验证 MySQL 配置文件3.3 检查文件和目录权限3.4 手动启动 MySQL 服务3.5 修复 systemd 配置文件3.6 验证依赖环境 4. 进一步优化与自动化处理结语 前言 在日常…...

谷歌浏览器Chrome打开百度很慢,其他网页正常的解决办法,试了很多,找到了适合的
最近不知怎么的,Chrome突然间打开百度很慢,甚至打不开。不光我一个人遇到这问题,我同事也遇到这个问题。开发中难免遇到问题,需要百度,现在是百度不了。 作为一名开发人员,习惯了使用Chrome进行开发&#…...
深度学习Pytorch中的模型保存与加载方法
深度学习:Pytorch中的模型保存与加载方法 在 PyTorch 中,模型的保存和加载对于模型的持久化和后续应用至关重要。这里详细介绍了两种主要方法:保存整个模型(包括架构和参数)和仅保存模型的状态字典。以下内容进一步完善了加载模型…...
小红书矩阵运营:怎么通过多个账号来提升品牌曝光?
在如今的社交媒体环境中,小红书作为一个以分享生活方式、购物心得为主的平台,已经成为品牌营销的热土。尤其是通过“小红书矩阵”,品牌能够精准触达不同的用户群体,提升曝光度和转化率。那么,如何通过多个账号进行矩阵…...

Llama-2-7b:vocab size:32000;embeddings:4096;hidden_layers是什么意思
目录 Llama-2-7b:vocab size:32000;embeddings:4096 vocab size:模型能解析词汇数量==n_vocab num_hidden_layers: 32 nanogpt隐藏层4 "initializer_range": 0.02 Token Embed是什么 举例说明 不同Chat版本的Token Embed(Token Embeddings) 区别 Llama…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...