体验码道开发鸿蒙原生应用,轻记账APP全流程开发实战
一、环境与资源准备
1.1 下载安装DevEco Studio
DevEco Studio 是 HarmonyOS 应用及服务的集成开发环境(IDE),提供了一站式的开发平台,包括代码编辑、编译构建、代码调试、性能调优、模拟器、应用测试等能力。
1.2 创建HarmonyOS工程
在 DevEco Studio 的欢迎访问界面,选择「项目」 > 「新建项目」,开始创建一个新工程。

根据工程创建向导,选择创建「应用」 > 「Empty Ability」,然后单击「下一步」。

在工程配置页面,需要根据向导配置工程的基本信息。
- 工程的名称:SimpleAcc
- 标识应用的包名:com.test.simpleacc
- 工程文件本地存储路径:根据实际需要设置代码路径。
- 兼容的最低 API Version:6.0.0(20)
- 模块的名称:entry
- 该工程模板支持的设备类型:Phone

单击「完成」,工具会自动生成示例代码和相关资源,等待工程创建完成。

1.3 创建本地模拟器
点击菜单栏的「工具」 > 「设备管理器」。

点击右下角的「编辑」设置模拟器实例的存储路径。

单击右下角的「新建模拟器」按钮,创建一个手机模拟器。
在模拟器配置界面,选择设备类型为「手机」,API Version 为 HarmonyOS 6.0.0(20)。首次使用时请点击设备右侧下载图标下载模拟器镜像。

选择「接受」,然后点「下一步」。

模拟器镜像下载完成后,单击「下一步」,保持设备相关默认参数。

点击「完成」创建模拟器。模拟器创建完成之后,点击「启动图标」启动模拟器。

模拟器启动完成。

1.4 安装华为云码道(CodeArts)代码智能体插件
在DevEco Studio右上角打开「设置图标」 > 「插件」。

在Marketplace页签搜索并找到CodeArts Agent,然后点「安装」。

插件安装完成后,「安装」按钮变为「重启IDE」,点击「重启IDE」。DevEco Studio重启后,右侧会出现华为云码道(CodeArts)代码智能体的Logo,点击并打开码道。

点击「华为账号登录」,跳转浏览器登录华为账号。登录成功后,智能体切换为「自定义」 > 「鸿蒙开发」,模型切换为 GLM-5.2-ArkTS-SPARK。

1.5 对话码道,检验/安装Node.js
在码道对话框中发送如下指令,安装Node.js
帮我检查当前环境中是否已安装Node.js,若未安装请帮我安装最新版本。

二、鸿蒙记账应用开发实践
2.1 对话码道,开发鸿蒙记账应用
继续对话码道,发送鸿蒙记账应用开发请求:
【角色设定】
你是一名资深 HarmonyOS 应用开发工程师,熟练掌握 ArkTS、ArkUI 声明式开发、Stage 模型,以及 HarmonyOS 关系型数据库 RelationalStore。你写代码时注重可运行性、数据一致性、交互细节和代码可维护性,不引入不必要的第三方依赖。
【具体背景】
我要开发一款面向个人用户的轻量级记账工具,帮助用户快速记录日常收支、查看流水和掌握基本财务状况。目标用户是想要简单记账、不想被复杂功能干扰的普通消费者。应用不需要后端,所有数据保存在本地,使用 HarmonyOS 的 RelationalStore 存储。请基于以下需求,给出一个完整、可落地、可直接用于开发的实现方案与核心代码。
【明确目标】
实现一个 HarmonyOS 轻量记账应用,包含记账、流水查看、月度切换、删除记录、收支统计和本地存储能力。具体要求如下:
一、记账功能
1. 添加记录:用户可输入金额、类型(收入/支出)、分类、日期、备注(可选)。
2. 快速记账:首页提供“+”按钮,一键进入记账页,日期默认当前日期。
3. 分类选择:预设 6~8 个常用分类。支出分类至少包含:餐饮、购物、交通、娱乐;收入分类至少包含:工资、红包。分类用图标或 emoji 表示。
4. 金额校验:金额必须为正数;非数字、负数、0 均无法提交,并给出明确提示。
5. 提交成功后返回首页或流水页,列表立即刷新。
二、记录查看
1. 流水列表按时间倒序展示所有记账记录,每条显示:分类图标、分类名称、金额、日期。收入与支出在金额颜色或符号上可区分。
2. 月度切换:可切换查看不同月份的记录,支持左右按钮切换月份,也支持下拉选择月份。
3. 删除记录:支持左滑或长按某条记录删除,删除前给出确认提示;删除后列表和统计同步刷新。
4. 空状态:无记录时显示友好提示。
三、统计概览
1. 当前月份展示:总收入、总支出、结余(收入 - 支出)。
2. 用饼图或环形图展示当前月份支出分类占比,仅统计支出。
3. 图表不依赖第三方库,优先使用 Canvas 或 ArkUI 自定义绘制实现。
4. 统计随月份切换和记录增删实时更新。
四、数据存储
1. 使用 HarmonyOS RelationalStore 存储数据,不使用网络请求。
2. 设计合理的表结构,金额建议以“分”为单位用整数存储,避免浮点数精度问题。
3. 日期使用统一格式存储,例如 YYYY-MM-DD,便于按月查询。
4. 提供数据库初始化、增删查、按月统计的封装方法。
5. 处理数据库打开失败、插入失败等异常,给出可读的错误处理或日志。
五、技术与体验约束
1. 使用 ArkTS + ArkUI 声明式开发,Stage 模型。
2. 页面结构建议:首页/流水页、记账页;统计概览可放在首页顶部或独立区域,不强制单独 Tab。
3. 不引入第三方图表库、数据库库或网络库。
4. 代码注释适量,命名清晰,关键逻辑不省略。
5. 如果某些细节未明确,请按上述默认设计实现,不要反问,直接给出方案。
6. 输出前自检:数据模型与功能一致,金额校验完整,按月查询正确,删除后统计刷新,代码无关键遗漏。
【期望格式】
请按以下顺序输出,不要输出与任务无关的长篇解释:
1. 项目结构:用树形列出关键文件路径,并说明每个文件职责。
2. 数据模型与数据库封装:给出表结构、建表 SQL、RelationalStore 初始化、增删查和按月统计的核心代码。
3. 核心页面与组件:按文件路径分块输出 ArkTS/ArkUI 代码,至少包含:
- 首页/流水页:月度切换、收支总览、流水列表、删除交互、“+”入口;
- 记账页:金额、类型、分类、日期、备注输入与校验、提交;
- 统计图表组件:支出分类占比环形图或饼图;
- 公共工具:金额格式化、日期处理、分类常量。
4. 关键交互说明:用简短条目说明左滑/长按删除、月份切换、空状态、校验提示如何实现。
5. 验收清单:逐条对照需求列出可验证的验收项。
代码块请标注文件路径,例如:`entry/src/main/ets/pages/HomePage.ets`。代码要可直接参考落地,不要只给伪代码。
【参考实例】
项目结构仅作示意,不要照抄或缩减功能:
- entry/src/main/ets/
- pages/HomePage.ets
- pages/AddRecordPage.ets
- components/ExpenseChart.ets
- database/RecordStore.ets
- common/Categories.ets
- common/Utils.ets
请基于以上要求,生成完整实现方案与核心代码。
等待码道自动完成开发任务,然后点右上角的「启动图标」,等待启动成功。

若启动失败,将失败日志继续发送给码道,自动修复报错即可。
应用启动成功。

2.2 测试验证轻记账鸿蒙APP
打开本地模拟器,分别操作增加支出和收入,查看流水变化。

经过测试,增加支出和收入,功能页面均正常显示。
更多推荐



所有评论(0)