「Mac畅玩鸿蒙与硬件10」鸿蒙开发环境配置篇10 - 项目实战:计数器应用
本篇将通过一个简单的计数器应用,带你体验鸿蒙开发环境的实际操作流程。本项目主要练习组件的使用、事件响应和状态管理,帮助开发者熟悉基本的应用构建流程。

关键词
- 计数器应用
- 组件操作
- 事件响应
- 状态管理
- HarmonyOS 应用开发
一、创建计数器项目
1.1 在 DevEco Studio 中新建项目
- 打开 DevEco Studio,选择 File > New > Create Project。
- 选择适合的模板,填写项目名称为
CounterApp,确认创建项目。项目结构文件将在src/main/ets/pages/Index.ets文件中生成。
1.2 设计 Index.ets 初始代码
在 Index.ets 文件中,实现简单的界面设计,包括标题、计数器数字显示和两个按钮(“加”和“减”):
// 入口组件定义,用于指定应用的启动页面
@Entry
@Component
struct Index {// 定义一个状态变量 count,用 @State 修饰符管理其状态变化@State count: number = 0;// build() 方法构建页面布局和组件build() {// 使用 Column 组件作为垂直布局容器Column() {// 应用标题文本Text('计数器应用').fontSize(24) // 设置标题字体大小为 24.fontWeight(FontWeight.Bold) // 设置字体为粗体.margin({ top: 20 }) // 顶部边距为 20.alignSelf(ItemAlign.Center) // 水平居中对齐// 显示当前计数值的文本组件Text(this.count.toString()) // 将 count 数值转换为字符串显示.fontSize(50) // 设置字体大小为 50.fontWeight(FontWeight.Bold) // 字体加粗.margin({ top: 20, bottom: 20 }) // 上下边距分别为 20.alignSelf(ItemAlign.Center) // 水平居中对齐// 使用 Row 组件实现水平布局,包含“加”和“减”按钮Row() {// "加"按钮,点击后计数值增加Button('加') .onClick(() => { // 添加点击事件处理函数this.count += 1; // 点击时,count 变量加 1}).fontSize(20) // 设置按钮字体大小为 20.相关文章:
「Mac畅玩鸿蒙与硬件10」鸿蒙开发环境配置篇10 - 项目实战:计数器应用
本篇将通过一个简单的计数器应用,带你体验鸿蒙开发环境的实际操作流程。本项目主要练习组件的使用、事件响应和状态管理,帮助开发者熟悉基本的应用构建流程。 关键词 计数器应用组件操作事件响应状态管理HarmonyOS 应用开发一、创建计数器项目 1.1 在 DevEco Studio 中新建项…...
安卓逆向之ARM汇编寻址,汇编指令
一:ARM汇编寻址 1. 立即数寻址 (Immediate Addressing) 指令中直接给出一个常数值(立即数),并对其进行操作。 MOV R0, #5 ; 将立即数5载入寄存器R02. 直接寻址 (Direct Addressing) 指令中给出的地址直接指定了内存中的一…...
Idea常见插件(超级实用)
文章目录 Idea好用的插件推荐Idea插件安装Chinese(中文版)Alibaba Java Coding Guidelines(代码规范)Auto Filling Java Arguments(自动补全参数)CamelCase(变量名称格式转换)CodeGeeX(智能&…...
C++中如何获取时间并格式化为字符串?
在C中,你可以使用标准库中的 <chrono> 和 <iomanip> 头文件来获取当前时间并将其格式化为字符串。以下是一个简单的示例,展示了如何获取当前时间并将其格式化为一个可读的字符串(例如:YYYY-MM-DD HH:MM:SS)…...
项目1 yolov5鱼苗检测计数
yolov5鱼苗检测 1. yolov5鱼苗检测1.1. 环境配置1.2 Predict1.3 Validate1.4 Train1.5 生成 ONNX 2 代码解析2.1 模型2.2 数据集2.3 损失函数2.4 训练2.5 预测 之前做的项目,再回顾一下 环境:GPU1卡,CPU4核,每显卡12GB,…...
GPU 学习笔记三:GPU多机多卡组网和拓扑结构分析(基于数据中心分析)
文章目录 一、概述二、数据中心(DC)2.1 数据中心简介2.2 传统数据中心的网络模型2.3 脊叶网络模型(Spine-Leaf)2.4 Facebook的Fabric网络架构 三、基于数据中心的多机多卡拓扑3.1 Spine-Leaf 架构网络规模测算方法3.2 NVIDIA多机多…...
各编程语言处理HTTP状态码的库推荐
Http 状态码用那个库 备注 Spring 的状态码库为 org.springframework.http.HttpStatus Apache 的状态码库为: org.apache.http.HttpStatus 通常这 2 个库都差不多。 如你的项目中已经用了 Spring 的代码的话,那么就用 Spring 的库吧。 不管是那个库…...
【Mac】Python 环境管理工具
一、pyenv 1、安装 (1)安装 brew install pyenv(2)环境配置 查看系统使用 shell 是 bash 还是 zsh bash 配置文件:~/.bash_profile zsh 配置文件:~/.zshrc userMac ~ % echo $SHELL /bin/zsh userMa…...
大语言模型数据流程源码解读(基于llama3模型)
文章目录 前言一、数据进入LlamaForCausalLM(LlamaPreTrainedModel)类二、数据进入LlamaModel(LlamaPreTrainedModel)类1、input_ids的embedding编码2、position_ids位置获取3、causal_mask因果mask构建1、causal_mask调用2、因果mask代码解读(_update_causal_mask)4、hidden_s…...
[蓝桥杯 2015 省 A] 饮料换购
题目描述 乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料,凭 3 个瓶盖可以再换一瓶 C 型饮料,并且可以一直循环下去(但不允许暂借或赊账)。 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么ÿ…...
K8S测试pod内存和CPU资源不足
只设置requests参数 mysql主从pod启动后监控 读压测之后 同时设置limits和requests,只调低内存值 监控 压力测试 同时设置limits和requests,只调低CPU值 初始状态 开始压测 结论 对于CPU,如果pod中服务使用CPU超过设置的limits&…...
rabbitmq 使用注意事项
1,注意开启的端口号,一共四个端口号,1883是mqtt连接的端口号,如果没开,是连接不上的需要手动起mqtt插件。 //开始mqtt插件服务 rabbitmq-plugins enable rabbitmq_mqtt 2,15672端口是http网页登录的管理后…...
<项目代码>YOLOv8 夜间车辆识别<目标检测>
YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv8具有更高的…...
xterm.js 库作用
前言:xterm.js 是一个用于在网页上模拟终端的强大 JavaScript 库。 一、在网页中实现终端模拟 1. 提供类似终端的界面 xterm.js可以在浏览器中创建一个看起来和行为都类似于传统终端的界面。这包括显示命令行提示符、接受用户输入、显示命令输出等。 例如&#…...
在Excel中如何快速筛选非特定颜色
Excel中的自动筛选是个非常强大的工具,不仅可以筛选内容,而且可以筛选颜色,例如筛选A列红色单元格。但是有时希望筛选除了红色之外的单元格(下图右侧所示),其他单元格的填充色不固定,有几种颜色…...
kotlin定时器和主线程定时器
场景 最近要用kotlin写一个每隔一段时间切视频并截图 刷刷的就写出来了,很快啊 timerTask object : TimerTask() {override fun run() {captureWindow()if ((group 1) * 4 > urls.size) {showDialog()timerTask.cancel()timer.cancel()}groupupdatePlayers(…...
vscode不能执行vue命令/ vue : 无法加载文件
问题: 解决: 1. 在Windows应用中找到Windows PowerShell,以管理员运行: 2. 在命令框输入: set-ExecutionPolicy RemoteSigned, 然后输入A即可解决...
1.4 STL C++面试问题
1.4.1 说说STL的基本组成部分 总结 STL 的基本组成部分包括容器、算法、迭代器、函数对象和仿函数和适配器。通过这些组件,STL 提供了高效、灵活和可复用的代码结构,极大地提高了 C 的开发效率和程序的可维护性。STL 的设计思想使得算法和数据结构的使…...
Bash、sh 和 Shell都弄混了?
在Linux和Unix系统中,Bash、sh 和 Shell 都与命令行解释器相关,但它们各自的含义和作用略有不同。以下是它们之间的关系和区别: Shell Shell 是一个通用术语,指的是操作系统中负责解释和执行用户命令的程序。它是用户与操作系统…...
架构师备考专栏-导航页
简介 架构师备考专栏——软考系统架构师考试的学习宝典,集合了全面覆盖架构师考试大纲的精华文章。每篇文章都为本人手输,并校对数遍后发表,在此我保障每篇文章的质量绝对过关。诚邀对架构师软考感兴趣的朋友们收藏此页面,并根据个人所需高效…...
OpenClaw技能开发:为百川2-13B-4bits模型定制专属自动化模块
OpenClaw技能开发:为百川2-13B-4bits模型定制专属自动化模块 1. 为什么需要为特定模型定制技能? 去年我在尝试用OpenClaw自动化处理技术文档时,发现一个有趣的现象:同样的"整理会议录音并生成摘要"任务,使…...
OpenClaw性能调优:RTX4090D环境下Qwen3-32B-Chat的并发控制
OpenClaw性能调优:RTX4090D环境下Qwen3-32B-Chat的并发控制 1. 为什么需要关注OpenClaw的并发性能 上周我在本地部署了Qwen3-32B-Chat模型,准备用OpenClaw实现一个自动化内容处理流程。当我同时触发文件整理、网页检索和报告生成三个任务时,…...
VSCode + Clang-Format 真·无缝集成指南:不止是保存时格式化
VSCode Clang-Format 真无缝集成指南:不止是保存时格式化 在C/C开发中,代码风格一致性往往成为团队协作的痛点。当你在深夜提交代码时,是否曾被同事提醒"缩进不对"或"括号换行风格不一致"?Clang-Format作为L…...
SAMPart3D:三维模型智能分割技术的颠覆性突破
SAMPart3D:三维模型智能分割技术的颠覆性突破 【免费下载链接】SAMPart3D SAMPart3D: Segment Any Part in 3D Objects 项目地址: https://gitcode.com/gh_mirrors/sa/SAMPart3D 在工业设计领域,工程师需要花费数小时手动标注机械零件的每个组件&…...
基于Docker的CosyVoice AI开发环境搭建与优化实践
最近在折腾CosyVoice这个语音模型,发现环境配置真是让人头疼。各种Python版本、CUDA驱动、音频库依赖,稍有不慎就报错。特别是团队协作时,每个人的本地环境差异导致“在我机器上能跑”的经典问题频繁出现。经过一番摸索,我最终用D…...
Notepad--:跨平台文本编辑器的技术架构与国产化实践
Notepad--:跨平台文本编辑器的技术架构与国产化实践 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- Notepa…...
云原生应用开发实践:从开发到部署
云原生应用开发实践:从开发到部署 前言 哥们,别整那些花里胡哨的理论。今天直接上硬菜——我在大厂一线开发云原生应用的真实经验总结。作为一个白天写前端、晚上打鼓的硬核工程师,我对云原生开发的追求就像对鼓点节奏的把控一样严格。 背景 …...
百川2-13B模型效果展示:代码生成与解释能力实测
百川2-13B模型效果展示:代码生成与解释能力实测 最近在开发者圈子里,关于AI编程助手的讨论越来越热。大家不再只关心模型参数有多大,而是更看重它实际干活的能力:我描述一个需求,它能写出能跑的代码吗?我贴…...
汽车零件分装报警系统(1)
这个项目是对汽车零件(机油滤芯)分装的时候编码进行警报,机器识别楚错误编码的时候会报警,编码使用正则表达式设置一个正确编码范围,摄像头连接警报器,使用paddleOCR和opencv相关技术,pyqt5设计…...
YOLOv10镜像实测:比YOLOv9快46%,新手也能轻松部署
YOLOv10镜像实测:比YOLOv9快46%,新手也能轻松部署 1. 引言:YOLOv10带来的性能革命 目标检测技术在过去几年取得了巨大进步,而YOLO系列一直是这个领域的标杆。最新发布的YOLOv10带来了令人振奋的性能突破——相比前代YOLOv9&…...
