中国海洋大学计算机学院2026夏季学期《移动软件开发》本科课程实验-实验五:鸿蒙开发入门及计算器开发
| 姓名和学号? | 钟志炜,24020007172 |
|---|---|
| 本实验属于哪门课程? | 中国海洋大学26夏《移动软件开发》 |
| 实验名称? | 实验5:鸿蒙开发入门及计算器开发 |
| 代码仓库地址 | https://github.com/eureka137285/mobile_software_projects |
一、实验内容
一、实验目的
- 掌握 DevEco Studio 开发环境的下载、安装与配置,学会创建鸿蒙模拟器,能够正常启动模拟器设备。
- 熟悉 ArkTS 工程创建流程,理解工程包名、SDK 版本、存储路径等配置规则,完成 HelloWorld 项目运行,验证开发环境可用性。
- 学习 ArkTS 声明式 UI 开发语法,理解
@State状态装饰器、基础 UI 组件、按钮点击事件的工作原理。 - 完成简易计算器应用开发,实现数字输入、加减乘除运算、清零、退格等基础功能,并完成个性化创新修改,将程序编译运行在鸿蒙模拟器上。
- 掌握鸿蒙应用编译、推包、模拟器运行的完整流程,建立鸿蒙移动应用开发的基础认知。
二、实验步骤
步骤 1:DevEco Studio 环境安装
-
访问华为开发者官网下载最新版本 DevEco Studio,按照官方指引完成 IDE 安装,安装路径避免中文路径。
-
下载配套 SDK 组件,完成基础开发组件安装。
步骤 2:创建本地鸿蒙模拟器
-
打开 DevEco Studio,点击主页“更多操作-设备管理器”,点击“新建模拟器”,下载设备系统镜像,配置模拟器内存、存储空间,完成模拟器创建。
步骤 3:创建 HelloWorld 项目验收环境
-
在欢迎页点击“新建项目”,选择Empty Ability`模板,创建 Application 类型工程。
-
填写工程信息:设置合法 Bundle 包名,工程保存路径不含中文,选择兼容 SDK 版本,设备类型勾选 Phone。
-
等待工程自动同步完成,点击
Run > Run '模块名称',IDE 自动编译推包,确认 HelloWorld 程序成功在模拟器运行,验证整套开发环境可用。
步骤 4:简易计算器项目开发
- 新建鸿蒙 Application 工程,参考华为官方计算器 Codelabs 教程编写计算器页面代码,使用 Column、Row 布局搭建计算器界面,搭建显示屏、数字按钮、运算符按钮、清零、退格、等于按钮。
- 使用
@State定义响应式状态变量,保存显示文本、操作数、运算符、输入状态;编写数字点击、运算符点击、清零、退格、计算结果的业务逻辑函数。 - 处理边界问题:防止重复输入小数点、处理除零异常、小数运算精度丢失问题。
- 进行个性化创新:修改按钮配色、字体大小,调整页面布局样式,优化交互体验。
- 预览调试代码,修正语法报错与逻辑 bug。
步骤5:编译运行测试
-
选中已经启动好的模拟器设备,点击运行按钮,IDE 执行编译构建,将应用推送到模拟器。
-
在模拟器打开计算器 APP,依次测试 0‑9 数字输入、加减乘除运算、清零、退格、连续运算、异常输入等场景,观察程序运行效果。并基于基础代码优化完善。
-
将完整项目代码提交至 Github 代码仓库。
三、实验结果
-
DevEco Studio 安装完成,模拟器创建成功,可以正常启动,模拟器画面显示正常,无启动报错。
-
HelloWorld 工程编译成功,应用正常部署到模拟器,页面正常显示文本,环境验收通过。
-
简易计算器 APP 成功运行在鸿蒙模拟器上:
-
UI 界面:顶部为结果显示屏,下方排布数字 0‑9、加减乘除、小数点、清零 C、退格、等于按钮;完成个性化样式修改,调整按钮颜色与页面间距。
-
功能测试:可以正常输入数字,支持加减乘除四则运算;支持清零重置、退格删除输入;对重复小数点、除零错误做基础处理;计算结果可以正常回显到屏幕。
-
-
项目实现普通计算器与科学计算器互换,科学计算器覆盖多种情况,经过边界测试没有测试错误。
-
实现计算历史记录,实现全部删除、拖动单条删除,同一次计算步骤回退等功能。
-
项目完整代码已经上传至指定 Github 仓库,代码可以正常拉取编译。
二、问题总结与体会
1.项目同步 Gradle 报错:新建工程后同步失败,项目组件加载不全,无法运行。
解决:网络问题导致依赖下载失败,配置国内镜像源,重启 IDE,重新执行项目同步。
2.包名格式报错:创建工程时填写的 Bundle name 格式不合法,工程无法创建。
解决:按照实验要求,包名使用点分隔,至少三段,不出现连续点号,不以数字开头,修改为符合规范的包名。
3.计算器逻辑 bug:连续输入小数点、小数计算精度丢失。
解决:增加判断逻辑,检测显示屏已有小数点则禁止再次输入;小数运算将数值放大为整数运算,运算结束后再缩小,缓解浮点数精度丢失问题。
4.按钮点击无响应:忘记绑定按钮的onClick事件,点击按钮界面没有变化。
解决:为每一个按钮组件绑定 onClick 回调函数,触发对应业务处理函数。
二、体会
本次实验完成了鸿蒙开发环境搭建到计算器完整应用开发,我初步了解了 HarmonyOS 应用开发流程,熟悉 DevEco Studio 工具的基本操作。ArkTS 采用声明式 UI,配合@State装饰器实现数据驱动视图,和传统命令式 UI 开发思路有明显区别,数据改变自动刷新 UI,开发效率很高。
搭建环境阶段遇到不少环境配置、网络相关问题,明白了移动开发中环境配置是实验成功的前提。计算器开发不只是界面布局,运算逻辑、边界异常处理同样很关键,要考虑用户的各种异常输入场景。
通过本次实验,我掌握鸿蒙应用从创建、编码、调试、编译到模拟器运行的完整流程,对 ArkTS 语法、组件、状态管理有了实践理解,为后续更加复杂的鸿蒙应用开发打下基础。
更多推荐


所有评论(0)