技术栈
arkui
贾伟康
3 小时前
性能优化
·
实战
·
harmonyos
·
arkts
·
arkui
【共创稿事节】WaterFlow瀑布流的列宽策略
WaterFlow 瀑布流是菜谱应用最合适的列表形态:菜谱图片高度不一,瀑布流按列排布自动错落,视觉密度远高于等高网格。但它也是调试成本最高的容器——列宽怎么定、跨列怎么做、滚动位置怎么保持、卡片高度不一带来的复用问题,每个都有讲究。这篇记录健康菜谱助手瀑布流从粗糙到成熟的完整过程。
贾伟康
4 天前
软件测试
·
移动开发
·
harmonyos
·
arkts
·
arkui
【健康菜谱助手|06】HarmonyOS ArkTS 烹饪计时器实战:处理倒计时、暂停、恢复和到期反馈
烹饪计时器看起来只是每秒减一,但它比普通数字动画更接近一个时间系统。用户会同时煮鸡蛋、炖排骨和蒸鱼;计时期间可能锁屏、切到菜谱步骤页、暂停某一个任务,或者在应用后台时到期。只依赖页面中的 setInterval(),界面在前台短时间演示通常正常,一旦经历调度延迟和页面生命周期,剩余时间就可能漂移、冻结或丢失。
贾伟康
4 天前
软件测试
·
移动开发
·
harmonyos
·
arkts
·
arkui
【健康菜谱助手|05】HarmonyOS ArkTS 购物清单实战:去重食材并同步勾选、数量与清空动作
购物清单是菜谱应用中最容易被低估的功能。界面通常只有名称、用量、勾选和删除,看起来比菜谱详情简单得多;但一旦同一种食材来自多道菜、用户又能手动添加,系统就必须回答:鸡蛋和“土鸡蛋”是否相同、500 克与 2 斤如何合并、删除最后一项后是否保持空清单、勾选失败是否还能提示成功、从菜谱批量加入时如何保留来源。
贾伟康
5 天前
软件测试
·
移动开发
·
harmonyos
·
arkts
·
arkui
【健康菜谱助手|01】HarmonyOS ArkTS 菜谱详情页实战:组织食材、营养、步骤和收藏状态
菜谱详情页看起来只是“头图 + 标题 + 食材 + 做法”的长页面,实际却是健康菜谱应用中数据密度最高、状态交叉最多的页面。它需要同时回答:路由传入的是哪道菜、食材是否与菜谱一致、营养值按什么口径展示、收藏按钮是否与全局列表同步、进入做饭模式后何时记为“已做”、购物清单写盘失败时用户会看到什么。
贾伟康
5 天前
软件测试
·
移动开发
·
harmonyos
·
arkts
·
arkui
·
1024程序员节
【健康菜谱助手|04】HarmonyOS ArkTS 一周膳食计划实战:管理日期、餐次与菜谱替换的联动
一周膳食计划看起来是一排星期标签和几张餐食卡片,真正难点却是“时间”和“引用”。周一究竟对应哪一天?切到下周后数据是否隔离?一顿午餐关联的是菜谱 ID,还是一段不可追踪的名称?替换菜品后热量概览是否同步?本地写入失败时,页面能否准确告诉用户?
贾伟康
5 天前
软件测试
·
移动开发
·
harmonyos
·
arkts
·
arkui
【健康菜谱助手|02】HarmonyOS ArkTS 烹饪步骤实战:把分步操作、完成状态和返回恢复做稳
菜谱详情页解决的是“做什么”,烹饪步骤页解决的则是“现在做到哪里、下一步是什么、退出后还能不能接着做”。对用户来说,切菜时锁屏、接电话后返回、误触上一页、切到步骤总览再回来都是正常行为;对工程来说,这些行为会同时触发路由、页面生命周期、状态恢复和语音资源管理。一旦只用一个 currentStep 临时变量支撑全部流程,页面看上去能翻页,却很难称为可靠的做饭模式。
贾伟康
5 天前
软件测试
·
移动开发
·
harmonyos
·
arkts
·
arkui
·
1024程序员节
【健康菜谱助手|03】HarmonyOS ArkTS 冰箱食材推荐实战:从本地食材选择生成可解释的候选菜谱
“冰箱里有鸡蛋和土豆,今天能做什么?”这是菜谱应用中非常实用的一类入口。它不要求用户先知道菜名,而是从已有食材反推候选菜谱。看起来只要把食材关键词和菜谱文本做一次匹配即可,真正落地时却会遇到数据覆盖、别名归一、主辅料权重、缺失食材解释、排序稳定性和空结果等问题。
贾伟康
6 天前
前端
·
移动开发
·
harmonyos
·
arkts
·
arkui
【化学实验室|17】HarmonyOS ArkTS 亮暗色与视觉令牌实战:集中颜色、间距和交互状态避免页面割裂
一个项目拥有 Theme.ets,不等于它已经拥有完整主题系统。真正可维护的主题,需要回答四个问题:颜色表达的是业务语义还是某个十六进制值;浅色与深色是否使用同一组资源名称;系统状态栏、普通 ArkUI 组件和 Canvas 是否能同步变化;选中、按下、禁用和错误状态是否都经过对比度验证。
贾伟康
6 天前
安全
·
移动开发
·
harmonyos
·
arkts
·
arkui
【化学实验室|18】HarmonyOS ArkTS 权限与隐私实战:让 module.json5、功能说明和拒绝路径一致
权限与隐私检查最容易陷入两个误区:看到 module.json5 没有权限声明,就认为项目一定不存在隐私问题;或者写了一页很长的隐私政策,就认为代码行为已经被完整覆盖。真正可靠的结论必须同时核对能力声明、源码调用、本地数据、用户控制、应用内说明和发布材料。
贾伟康
6 天前
软件测试
·
移动开发
·
harmonyos
·
arkts
·
arkui
【化学实验室|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明
HarmonyOS 应用进入 AppGallery Connect 后,最危险的状态不是页面上出现一个明显报错,而是每个页面看起来都填了内容,实际却引用了不同版本的证据。源码里已经是 1.0.5,版本页面仍选着旧包;主模块声明了平板与 2in1,应用信息里只保留手机;包内没有网络权限,隐私材料却沿用了另一个项目;开发者上传了新 APP,却没有在版本页面重新选中它。这些问题往往到预审或人工审核阶段才暴露。
贾伟康
6 天前
软件测试
·
移动开发
·
harmonyos
·
arkts
·
arkui
【化学实验室|19】HarmonyOS ArkTS 回归测试实战:覆盖启动、空数据、异常输入和重复点击
一个 HarmonyOS 工程里出现 src/test、ohosTest 和 Hypium 依赖,不代表核心功能已经受到测试保护。真正有效的回归用例必须能在需求变更后回答:冷启动是否恢复本地数据,空列表是否给出可理解反馈,未选择答案能否提交,连续点击会不会重复记分,参数运行期间是否还能被修改,收藏按钮是否误触整行导航。
贾伟康
8 天前
harmonyos
·
arkts
·
本地存储
·
arkui
·
preferences
【化学实验室|15】HarmonyOS ArkTS 本地状态持久化实战:让保存、删除和页面返回后的数据即时一致
本地应用最容易出现一种“看起来已经成功”的数据故障:用户点击收藏,图标立刻亮了;返回收藏页,却没有这条数据。删除笔记后列表立即消失,重新进入页面又恢复。连续点击两次收藏,最终状态与最后一次操作相反。应用启动早期写入学习时长,界面统计发生变化,但重启后数据归零。
行者-全栈开发
8 天前
harmonyos
·
鸿蒙
·
arkui
·
闪控窗
·
api 26
·
选型决策树
·
闪控球
【共创稿事节】HarmonyOS 7 轻量悬浮窗口选型与闪控窗接入:闪控球、闪控窗、系统悬浮窗到底怎么选
适用版本:HarmonyOS NEXT / HarmonyOS 7(闪控球 API 20 起支持;闪控窗 API 26.0.0 起支持,仅 Stage 模型) 写给谁看:需要"应用外继续用"场景的鸿蒙开发者——金融盯盘、直播、巡检、计时类应用尤甚。 要解决的问题:轻量窗口不是一个东西,而是三个。选错形态,轻则体验割裂,重则权限直接被拒。
贾伟康
11 天前
harmonyos
·
arkts
·
canvas
·
arkui
·
化学实验
【化学实验室|04】HarmonyOS ArkTS 场景选择器实战:让 13 个离线实验的入口、筛选和返回路径保持一致
实验目录页、实验模拟页和场景选择页单独看都不复杂:目录页展示卡片,模拟页根据 expId 创建引擎,场景页让用户在标准、加热、低温、高压和自定义环境中选择一个选项。真正容易出问题的是三页之间的契约。
贾伟康
13 天前
harmonyos
·
arkts
·
arkui
·
本地搜索
·
化学知识
【化学实验室|07】HarmonyOS ArkTS 知识全局搜索实战:实现跨知识点、公式与阅读内容的本地检索
全局搜索最容易做成“看起来能搜”的功能:把几组数组拼在一起,把标题和正文连接成字符串,再用 indexOf() 判断是否包含关键词。数据只有几十条时,这段代码确实可以运行;但一旦用户输入化学式、同义词或跨类型关键词,结果顺序、空状态和目标跳转就会暴露问题。
贾伟康
15 天前
harmonyos
·
arkts
·
canvas
·
arkui
·
化学实验
【化学实验室|02】HarmonyOS ArkTS 实验结果载荷实战:用强类型模型隔离页面参数与结果展示
一个实验页面把曲线画出来,并不等于结果链路可靠。真正容易出错的地方,往往发生在“模拟结束”到“结果页展示”之间:上一个页面通过 router 传来一个普通对象,结果页直接把它断言成业务类型;表格把每行数据写成 number[],但没有人保证数组一定有三列;Canvas 又根据最后一行数据推导坐标范围,恰好遇到下降曲线时,前面的点就可能被画到可视区域之外。
贾伟康
17 天前
harmonyos
·
状态机
·
arkui
·
闰年
·
日期范围
HarmonyOS ArkUI 日历范围选择不歧义:本地日期键、闭区间与闰日校验
HarmonyOS ArkUI 日历范围选择不歧义:本地日期键、闭区间与闰日校验一句话先说结论:日历筛选表达的是“哪一天”,不是某个 UTC 瞬间。用固定宽度 YYYY-MM-DD 日期键承载自然日,按公历规则校验后再比较;选择状态明确区分空、仅开始日和已完成闭区间。这样跨月、闰日和恢复草稿都不会靠系统时区猜结果。
贾伟康
1 个月前
人机交互
·
harmonyos
·
arkts
·
arkui
·
手势识别
【HarmonyOS 7新能力|046】智慧手势工程封装:把接入逻辑放进可维护的分层结构
滑动、长按、捏合等输入看似简单,但同一轨迹在不同页面、控件和用户目标下可能代表完全不同的动作。若识别结果直接触发删除、提交或跳转,偶发误判就会变成实际损失。智慧手势的工程重点不是追求一个漂亮的识别准确率,而是把原始事件、手势候选、业务上下文、意图置信度和可撤销动作组成受控闭环。
贾伟康
1 个月前
性能优化
·
harmonyos
·
arkts
·
arkui
·
懒加载
【HarmonyOS 7新能力|045】LazyLayoutAlgorithm工程封装:把接入逻辑放进可维护的分层结构
常规列表能覆盖多数场景,但瀑布流、时间轴、分组卡片或不规则画廊往往需要自定义布局。数据量上升后,如果一次测量并放置全部节点,首屏、滚动和内存都会承受不必要开销。懒布局的关键不是“少创建组件”这一句话,而是只对可视区及合理预取范围做工作,同时维持稳定索引、正确尺寸和可恢复滚动位置。
贾伟康
1 个月前
harmonyos
·
arkts
·
arkui
·
ui设计
·
可变字体
【HarmonyOS 7新能力|043】可变字体工程封装:把接入逻辑放进可维护的分层结构
可变字体可以在一份字体资源中提供连续字重、宽度或光学尺寸变化,让标题、正文和交互状态获得更细腻的视觉层级。但如果页面直接填写轴值,多语言字形缺失、无障碍缩放、主题切换和设备差异会迅速把样式逻辑打散。工程化目标不是让每个组件“会调字体”,而是建立语义样式到字体能力的稳定映射。