最佳实践 - 基于鸿蒙生态的轻量化记账工具开发:融合 ArkUI 组件与分布式数据管理

最佳实践 - 基于鸿蒙生态的轻量化记账工具开发:融合 ArkUI 组件与分布式数据管理

最佳实践 - 基于鸿蒙生态的轻量化记账工具开发:融合 ArkUI 组件与分布式数据管理

前言

本文通过 “易记账” 鸿蒙应用实例开发过程中的关键技术场景:entry 模块构建从启动到业务交互的核心链路,借助 common 模块实现跨页面代码复用,利用 ArkUI 组件快速搭建账单录入与统计界面,以及 DatePickerDialog 在不同业务场景下的适配使用,从开发视角还原鸿蒙技术在实际项目中的落地过程,展现鸿蒙生态的实践价值与发展潜力。

项目简介

img
AppScope 存放应用级全局资源与配置,确保全应用样式、常量统一;common 集中管理多模块复用的通用代码、组件与工具类,提升开发效率;entry 作为应用入口模块,承载主界面与核心记账业务逻辑,是用户交互的核心;oh_modules 存储项目依赖的鸿蒙相关模块,为功能实现提供基础支持;screenshots 用于归档应用界面截图,方便项目文档说明使用

鸿蒙技术实践:易记账

1、entry目录结构:components 放可复用的 UI 组件(如账单列表、账单预览组件); data 存数据相关定义(如账单类型、默认模板);entryability 是应用启动与生命周期管理的入口;pages 包含所有业务页面(如新增账单、账单详情、首页等)

模块分层与启动管理:entryability 串联应用生命周期
1、entryability:易记账启动核心,负责 APP 启动时初始化全局上下文、数据库和设置工具,指定打开首页 pages/Index` 首页,并监控 APP 从启动到关闭的全生命周期状态,衔接底层能力和用户界面的关键
首页账单展示:基于 ArkUI 组件的统计与列表呈现
2、index.ets 首页组件,展示用户的账单数据与核心统计信息,页面加载时会从数据库拉取所有账单,自动计算并统计总收入、总支出金额;界面上通过 BalanceViewer 组件展示收支统计结果与日期选择功能,用 BalanceList 组件列出所有账单明细,还通过 PageEntries 组件提供页面入口导航,用户查看账单汇总与明细的核心入口

账单录入交互:自定义键盘与原生组件的融合应用
3、addBalance.ets 新增账单页面组件,让用户选择收支类型、对应的具体类别,通过自定义的数字键盘输入金额,还能添加备注、选择日期,最后把这些账单信息存入数据库,完成账单记录支出

收入

记账

年度账单统计:数据分层处理与多维度展示
4、BillinfoPage.ets 年度账单统计页面组件,展示指定年份的收支汇总数据,页面加载时会从数据库拉取所有账单,通过工具类 BillingInfoUtils 按月份拆分数据,计算并展示 “年结余、年收入、年支出” 总览,以及每个月的收入、支出、结余明细。用户可点击年份区域,通过内置的 DatePickerDialog 选择其他年份,页面会自动更新对应年份的统计数据,是用户查看年度财务状况的核心界面



鸿蒙原生组件实践:DatePickerDialog 的差异化场景应用

维度AddBalance.etsBillInfoPage.ets
用途选择单条账单的具体日期(精确到日)选择年度统计的年份(核心是年份)
触发元素页面中部的 “年 / 月 / 日” 文本页面顶部的 “年份 + 年” 文本
数据更新分别更新activeYearactiveMonthactiveDay更新 activeDate 对象的年份
弹窗作用确定单条账单的记录时间切换需要统计的年度数据
AddBalance.ets(新增账单页):选择单条账单的具体日期
触发时机:点击页面中显示的 “年 / 月 / 日” 文本时触发,用于指定当前记录账单的具体日期

特点:需精确到 “日”,因为单条账单需要具体的记录日期,且通过 activeYear、activeMonth、activeDay 三个变量分别存储,便于后续格式化展示和存入数据库
BillInfoPage.ets(年度账单页):选择统计数据的年份
触发时机:点击页面顶部显示的年份文本时触发,用于切换需要查看的年度账单统计数据

特点:核心是选择 “年份”,月份和日期不影响统计结果,因此直接通过 this.activeDate(完整日期对象)的 setFullYear 方法更新年份,后续统计逻辑会基于该年份筛选数据
两者均依赖鸿蒙内置的 DatePickerDialog 实现日期选择,通过 show 方法配置可选范围和默认值,再通过 onAccept 回调更新页面状态,实现 “点击→选择→更新” 的完整交互

鸿蒙开发实践总结:轻量化应用开发的效率与体验

易记账轻量化记账应用的鸿蒙开发过程中,从架构搭建到功能落地,深刻感受到鸿蒙生态对轻量化应用开发的适配性与效率优势

从开发效率来看,鸿蒙的模块化目录设计(如AppScope统一全局资源、common封装通用工具)让代码复用率显著提升 ,DBManager 数据库管理、BillingInfoUtils 数据处理等通用逻辑只需开发一次,即可在首页、新增账单页、年度统计页跨页面调用;ArkUI 框架的声明式语法则大幅简化了界面开发,像Column/Row布局、ForEach 循环渲染账单列表,配合 @State 状态管理实现数据与 UI 的自动联动,相比传统开发减少了近 30% 的模板代码,尤其是原生 DatePickerDialog 组件的应用,无需自定义滚轮逻辑或适配样式,仅通过简单配置就能满足 “新增账单精确选日/年度统计选年” 两种差异化场景,极大降低了组件开发成本

从用户体验优化来看,鸿蒙的特性让轻量化应用也能具备流畅的交互表现,新增账单页通过 animateTo 实现输入面板的平滑弹出 / 隐藏,避免界面跳转的割裂感;年度统计页基于 BillingInfoUtils 的月份拆分逻辑,实现账单数据的实时计算与展示,页面切换时无明显卡顿,同时, entryability 对应用生命周期的统一管理,确保了 APP 启动时数据库初始化、全局上下文配置的稳定性,从底层保障了用户操作的流畅性

此外,鸿蒙的生态兼容性也为轻量化应用预留了扩展空间 —— 当前 “易记账” 虽聚焦单机记账,但基于 common 模块的分层设计,后续若需拓展多设备同步,如手机与平板账单互通,只需在通用模块中补充分布式数据逻辑,无需重构核心业务代码,这种 “轻量化起步、可拓展演进” 的特性,恰好契合了中小体量应用的开发需求

总结

img
“易记账” 鸿蒙开发实践是轻量化应用与鸿蒙生态高效适配:模块化目录设计降低代码冗余,ArkUI 声明式语法减少界面开发工作量,原生组件DatePickerDialog省去大量自定义适配成本。

同时,生命周期管理与状态联动特性从底层保障应用稳定性与交互流畅性。这种 “低开发成本、高功能完整性” 的体验,适配轻量化工具的开发需求,实现 “开发效率” 与 “用户体验” 双重平衡

👉如果你也在探索鸿蒙轻量化应用开发,或是想第一时间 get 鸿蒙新特性适配,点击链接加入和开发者们一起交流经验吧!https://work.weixin.qq.com/gm/afdd8c7246e72c0e94abdbd21bc9c5c1

Read more

知网vs维普AIGC检测:哪个更严格?实测数据告诉你答案

知网vs维普AIGC检测:哪个更严格?实测数据告诉你答案

知网vs维普AIGC检测:哪个更严格?实测数据告诉你答案 TL;DR:结论先放这里——知网AIGC检测在学术文本上更严格,维普在通用文本上更严格。同一篇论文,知网可能检测出AI率60%,维普可能检测出75%。但最终以学校指定平台为准。如果两边都要过,建议用嘎嘎降AI处理,它同时适配知网和维普,达标率99.26%。 知网和维普的检测原理有什么不同? 很多同学以为知网和维普只是名字不同,检测原理应该差不多。其实它们的底层算法和侧重点完全不一样。知网用的是AIGC检测算法3.0版本,主要依托自己的学术数据库,侧重分析学术文本的特征。它识别的重点是:句式模板化(比如「首先…其次…最后」这种套路)、高频词汇堆砌、逻辑结构固化、以及表达模式过于规整。简单说,知网对「写得太标准」的文本特别敏感。 维普的检测系统则基于自然语言处理和深度学习技术,会从词汇、语法、语义等多个维度分析文本特征。维普的数据资源更广泛,不仅覆盖学术文献,还包括新闻、网页等非学术内容,所以它在检测「通用AI写作」方面更敏感。

By Ne0inhk
【Copilot配置】—— copilot-instructions.md vs AGENTS.md vs .instructions.md三种指令文件解析与配置

【Copilot配置】—— copilot-instructions.md vs AGENTS.md vs .instructions.md三种指令文件解析与配置

Copilot 指令文件全解析:copilot-instructions.md vs AGENTS.md vs .instructions.md 作为常年和 VS Code 打交道的研发,最近在折腾 Copilot Agent 时,我发现很多同学和我一样,被 .github/copilot-instructions.md、AGENTS.md 和 .instructions.md 这三个文件绕晕了。 明明都是给 Copilot 写的 “指令”,为什么要分三个文件?它们的生效范围有啥区别?什么时候该用哪一个? 带着这些疑问,我翻遍了官方文档,又在自己的 AI Agent 项目里反复实测,终于把这三者的关系理得清清楚楚。这篇文章就用最直白的语言,结合实战配置,帮你彻底搞懂 Copilot 指令文件的使用逻辑。 一、先搞懂核心:

By Ne0inhk
中国企业出海新机遇与实践路径 | 2025 极新 AIGC 峰会圆桌论坛实录

中国企业出海新机遇与实践路径 | 2025 极新 AIGC 峰会圆桌论坛实录

2025年12月26日,【想象·2025极新AIGC峰会】在上海浦东浦软大厦成功召开。亚马逊云科技创业与投资生态合作战略顾问韩丽 、Wavespeed联合创始人李样兵、语核科技创始人兼CEO翟星吉、八友科技合伙人肖冬建在会上进行了题为《2026展望:中国AI创企国际化有哪些机遇和挑战》的圆桌讨论。重点讨论了进入AI时代创业企业如何切入海外市场、出海有哪些机遇与挑战等议题,给大家带来新观点、新思考、新期待。 讨论当中重点提到以下几点: “中国企业出海,既要看到海外市场的商业机会,也要充分发挥自身的核心竞争力。” “找准痛点,打磨极致产品。” “回归产品本质,聚焦价值创造,是中国企业出海成功的核心逻辑。” 以下内容为圆桌会议原文,经极新整理,希望能给大家带来收获。 01 不同的初心,相同的收获 韩丽:本次圆桌聚焦 “中国企业出海” 主题,三位嘉宾来自 GenAI 领域不同细分赛道,处于出海的不同阶段,期待能从多元视角为中国企业出海提供启发。首先,请三位嘉宾介绍自身及企业情况、出海阶段与战略。 肖冬建:感谢主持人的介绍,我先抛砖引玉。我是八友科技的肖冬建,我们公司成

By Ne0inhk
收藏!只为就业:纯LLM、多模态大模型、AIGC该选哪条路?

收藏!只为就业:纯LLM、多模态大模型、AIGC该选哪条路?

这绝对是2025年计算机应届生及算法方向求职者最焦虑的问题,没有之一。 过去几年,我从一线技术面试官做到团队负责人,面过的候选人从海外大厂博士到985硕士,累计不下八百人。聊得多了,也摸清了行业招聘的底层逻辑,今天就抛开虚言,从实战角度给大家盘清这三条赛道的利弊。 我不跟大家扯虚无的行业报告、千亿级市场规模这些空话——这些数据对普通人找工作毫无意义。核心只从「看简历、面候选人、拍板发offer」的一线视角,帮你判断哪条路更适合长期就业、薪资更高、更难被替代。 先定时间坐标:2026年1月。 大模型领域技术迭代太快,去年的最优解今年可能就成了内卷重灾区,这个时间点的行业现状,对求职决策至关重要。 先给结论,不绕弯子:优先all in多模态大模型 如果你的目标是拿下高质量算法岗,追求长期职业价值、低替代风险和高薪资天花板,别犹豫,直接深耕多模态领域。至于为什么这个方向是最优解,我把逻辑拆透,大家听完自己判断。 先看清三条赛道的真实现状 1. 纯语言大模型(LLM):基建化定型,算法岗内卷加剧 2025年的纯LLM领域,核心特征就四个字:基建化、工程化。现在想从零训练一个

By Ne0inhk