渐进式编程课
返回全部路线
原生应用开发

HarmonyOS / 鸿蒙

从 ArkUI 状态管理逐步进阶到数据服务、异步流程与 Hypium 测试。

62

已归档课程

更新至 2026.09.30

课程目录

按顺序学习,也可以直接搜索

62 节课程
  1. 第 1 课UIAbility 与 ArkUI 页面基础适用场景:理解应用启动后第一屏如何加载,以及如何编写第一个 ArkUI 页面2026.07.02
  2. 第 2 课@State 状态驱动 UI适用场景:计数、开关、输入内容、选中项等会变化的页面数据2026.07.03
  3. 第 3 课组件拆分与 @Prop 父传子适用场景:父组件持有状态,子组件只负责展示局部 UI2026.07.06
  4. 第 4 课@Link 双向状态同步适用场景:子组件中的按钮、开关或输入框需要修改父组件状态2026.07.07
  5. 第 5 课ForEach 与稳定 Key适用场景:菜单、消息列表、股票列表、设置项、搜索结果等重复结构2026.07.08
  6. 第 6 课List 与 ListItem适用场景:设置页、消息列表、搜索结果、行情列表、学习目录2026.07.09
  7. 第 7 课列表点击与选中状态适用场景:设置选项、学习目录、行情列表选股、搜索结果点击2026.07.10
  8. 第 8 课Navigation 基础页面跳转时效校验:20260915(HarmonyOS API 20 SDK、华为官方 Navigation 文档)2026.07.13
  9. 第 9 课NavPathStack 参数传递时效校验:20260915(HarmonyOS API 20 SDK、华为官方 Navigation 文档)2026.07.14
  10. 第 10 课NavPathStack 返回与路由栈时效校验:20260915(HarmonyOS API 20 SDK、华为官方 Navigation 文档)2026.07.15
  11. 第 11 课AppStorage 与 @StorageLink时效校验:20260915(HarmonyOS API 20 SDK、华为官方应用状态管理文档)2026.07.16
  12. 第 12 课@StorageProp 单向共享状态时效校验:20260915(HarmonyOS API 20 SDK、华为官方应用状态管理文档)2026.07.17
  13. 第 13 课PersistentStorage 状态持久化时效校验:20260915(HarmonyOS API 20 SDK、华为官方应用状态管理文档)2026.07.20
  14. 第 14 课@Provide 与 @Consume 组件树共享状态适用场景:祖先组件已经拿到状态,但中间会经过多层组件,不想一层层用 @Prop 往下透传2026.07.21
  15. 第 15 课@Watch 状态监听与派生处理适用场景:某个状态变化后,需要同步更新提示文案、派生字段或执行轻量联动逻辑,但 UI 仍然由状态结果驱动2026.07.22
  16. 第 16 课组件生命周期与资源清理适用场景:组件显示时启动定时任务、订阅或加载数据,并在组件离开时及时停止任务、解除订阅2026.07.24
  17. 第 17 课异步数据加载与页面状态适用场景:页面进入后请求网络数据、读取数据库或执行其他需要等待的任务2026.07.27
  18. 第 18 课数据服务与页面职责分离适用场景:页面需要请求网络数据、读取数据库,且希望请求实现可以复用和独立测试2026.07.28
  19. 第 19 课接口抽象与可替换数据服务适用场景:同一页面需要切换真实服务、测试服务或不同数据源,同时保持页面代码不变2026.07.29
  20. 第 20 课Hypium 数据服务单元测试适用场景:数据服务已经从页面中拆出,需要在不启动 UI 的情况下验证服务契约2026.07.30
  21. 第 21 课Hypium 异常路径测试适用场景:数据服务可能请求失败,需要确认失败会按接口语义向调用方抛出,而不是被服务或 UI 静默吞掉2026.07.31
  22. 第 22 课Hypium 测试生命周期钩子适用场景:一组测试需要重复创建服务对象,或每个用例结束后都要恢复测试环境2026.08.03
  23. 第 23 课Hypium 套件级生命周期钩子适用场景:一组测试需要复用创建成本较高、且测试期间保持只读的资源2026.08.04
  24. 第 24 课Hypium 数据表驱动测试适用场景:同一个函数需要验证多组边界值,而每组测试的执行步骤和断言结构相同2026.08.05
  25. 第 25 课Hypium 测试替身与依赖注入适用场景:被测对象依赖网络、数据库等外部服务,希望单元测试快速、稳定且不访问真实环境2026.08.06
  26. 第 26 课Hypium 交互验证与调用次数适用场景:业务结果相同,但仍需确认保存、上报或通知等依赖是否被调用了正确次数2026.08.07
  27. 第 27 课Hypium 异步交互顺序验证适用场景:业务要求前一个异步操作成功完成后,才能执行通知、跳转或后续提交2026.08.10
  28. 第 28 课Hypium 异步失败交互验证适用场景:保存、提交或支付失败时,后续成功通知、跳转等操作必须停止2026.08.11
  29. 第 29 课Hypium 成功与失败契约测试适用场景:同一个异步业务方法既要验证成功后的交互,也要验证失败后的中断行为2026.08.12
  30. 第 30 课Hypium 用例命名与 AAA 结构适用场景:成功、失败用例逐渐增多,需要从测试名快速看懂条件、行为和期望,并在失败时定位阶段2026.08.13
  31. 第 31 课Hypium 单一行为断言原则适用场景:一个测试同时检查异常、调用次数和多个状态,失败时难以判断是哪条业务契约被破坏2026.08.14
  32. 第 32 课Hypium 测试数据工厂适用场景:多个用例反复创建相同的 Fake、Spy 和被测对象,准备代码过多,真正的测试差异不突出2026.08.17
  33. 第 33 课Hypium 参数化测试工厂适用场景:多组输入遵循同一条业务规则,但希望每组数据都有独立用例名,失败时可直接定位具体边界场景2026.08.18
  34. 第 34 课Hypium 异步参数化测试适用场景:同一个异步服务需要覆盖多组成功与失败输入,且希望失败报告能直接定位具体参数场景2026.08.19
  35. 第 35 课Hypium 异步失败参数化测试适用场景:同一个异步接口会因多种非法输入而失败,需要确认每种输入都以约定的错误信息拒绝2026.08.20
  36. 第 36 课Hypium 可控 Promise 时序测试适用场景:业务必须等待保存、请求或授权完成后才能更新结果,需要验证等待期间不会提前执行后续动作2026.08.21
  37. 第 37 课Hypium 可控 Promise 失败时序测试适用场景:保存、请求或授权失败后必须把异常交给调用方,同时禁止继续提交成功状态或发送成功通知2026.08.22
  38. 第 38 课Hypium 可控 Promise 多阶段时序测试适用场景:业务必须依次完成保存、上传、通知或授权等多个异步步骤,需要证明后一步不会提前启动2026.08.24
  39. 第 39 课Hypium 多阶段中间失败测试适用场景:保存、校验、上传等步骤必须串行执行,且任一中间步骤失败后都要立即中止后续动作并向上传递错误2026.08.25
  40. 第 40 课Hypium 多阶段失败矩阵适用场景:保存、校验、上传等多阶段流程需要系统验证“任一步失败后,只停止其后的步骤”2026.08.26
  41. 第 41 课Hypium 多阶段测试共享夹具与用例隔离适用场景:多个成功或失败用例共用测试结构,但事件记录、失败配置和被测对象会在运行中改变2026.08.27
  42. 第 42 课Hypium afterEach 资源清理测试中的订阅如果没有清理,可能继续接收后续用例的事件,造成重复回调或与执行顺序有关的失败。afterEach 可以集中执行每个用例都需要的回收动作。2026.08.31
  43. 第 43 课Hypium 异步 afterEach 清理等待清理 Promise 完成,避免下一个用例在旧资源尚未关闭时启动。2026.09.01
  44. 第 44 课Hypium清理失败传播测试单独测试资源关闭失败时,清理函数是否把错误传给调用者。2026.09.02
  45. 第 45 课清理测试的独立夹具让清理成功、失败两个用例不依赖执行顺序或上一个用例的资源状态。2026.09.03
  46. 第 46 课顺序重复关闭的幂等契约验证已成功关闭的资源再次关闭时不会重复释放。2026.09.04
  47. 第 47 课关闭失败后的顺序重试验证首次释放失败后第二次 close 仍真正重试。2026.09.07
  48. 第 48 课并发关闭共享同一次释放两个调用者同时关闭资源时,只执行一次底层释放,并让双方等待同一个结果。2026.09.08
  49. 第 49 课释放完成后清理并发标记让并发关闭只复用进行中的任务,并在释放完成后清理临时状态。2026.09.09
  50. 第 50 课关闭成功后保持已释放状态避免成功释放后再次执行底层释放。2026.09.10
  51. 第 51 课并发关闭成功状态测试验证并发释放完成后,后续关闭不会再次触发底层释放。2026.09.11
  52. 第 52 课关闭失败后的重试契约验证一次释放失败后,下一次关闭仍能重新调用底层释放。2026.09.14
  53. 第 53 课关闭状态只读查询让调用方判断资源是否已经成功关闭,同时不获得修改内部状态的权限。2026.09.15
  54. 第 54 课根据关闭状态禁用按钮让按钮读取 Handle 的关闭事实,为后续点击交互准备禁用条件。2026.09.16
  55. 第 55 课按钮点击触发关闭让按钮点击调用上一课同一个 Handle 的关闭动作。2026.09.17
  56. 第 56 课异步关闭期间显示进行中状态关闭操作未完成时显示进度文字,并在操作结束后重新读取 Handle 的结果。2026.09.18
  57. 第 57 课关闭失败时显示提示让关闭失败的用户看到可重试信息。2026.09.21
  58. 第 58 课失败后按钮提示重试关闭失败后让用户明确知道同一个按钮可以重试,不新增第二份关闭状态。2026.09.22
  59. 第 59 课重试开始时清除旧失败提示用户点击“重试关闭”后,不让上一次失败提示继续停留在进行中界面。2026.09.23
  60. 第 60 课互斥显示关闭结果关闭结束后,在按钮下方给出清楚的结果,同时避免“已关闭”和失败提示并存。2026.09.24
  61. 第 61 课为关闭结果补充无障碍说明为互斥结果文字补充无障碍说明。2026.09.29
  62. 第 62 课用资源提供关闭结果说明让关闭结果的无障碍说明随应用资源统一管理。2026.09.30