用 AI DevSpace 给鸿蒙单词打卡 App 加一个错词本:一次免费体验版实录

举报
yd_276656611 发表于 2026/11/10 10:07:20 2026/11/10
【摘要】 今天上午,我照着华为云开发者成长中心的每日任务走了一遍:浏览鸿蒙案例、给鸿蒙案例代码仓点 Star、进 AI DevSpace 体验版和 AI Shell 对话,最后把这一路的收获写成这篇实践记录。主角是鸿蒙实践案例中心里的单词打卡 App(HarmonyOS-APP-word-check-in,基于 HarmonyOS 与 Appwrite Serverless 的单词打卡学习项目),我想...

今天上午,我照着华为云开发者成长中心的每日任务走了一遍:浏览鸿蒙案例、给鸿蒙案例代码仓点 Star、进 AI DevSpace 体验版和 AI Shell 对话,最后把这一路的收获写成这篇实践记录。主角是鸿蒙实践案例中心里的单词打卡 App(HarmonyOS-APP-word-check-in,基于 HarmonyOS 与 Appwrite Serverless 的单词打卡学习项目),我想给它加一个很实用的功能:错词本。

一、为什么是错词本

单词打卡类 App 最容易做的功能是“今日打卡”和“背词列表”,最容易被忽略的是“错了的词去哪了”。用户在测验里答错一次,系统如果不记下来,这个错就白错了。错词本要解决的就一件事:把答错的词自动收进一个单独的列表,支持按错误次数排序、支持针对性复习、答对三次后自动“毕业”移出。功能不大,但能直接决定一款背词 App 是不是真的帮用户记住了词。

二、我的准备工作:先看案例,再进 DevSpace

动手之前我先做了两件事。第一件是在鸿蒙开发实践中心打开了一个案例详情页慢慢看——这次看的是数独小游戏案例,ArkUI 纯端侧开发,重点看它的工程结构和状态写法是怎么组织的。第二件是去 GitCode 的鸿蒙实践案例中心(harmony-practice-center)组织页,给单词打卡 App 的代码仓点了一个 Star。这个仓之前还没 Star 过,点完状态从 Star 581 变成 Starred 582。

然后从 AI 办公开发实践中心的【实践任务】楼层点【前往 AI DevSpace 实践】,来到版本选择页。这里有两个版本:体验版写着“秒级启动、免费试用、不消耗额度”,持久化版写着“需要核时计费”。我只选了体验版点【立即进入】,一分钱不花。进入后先在左下角【会话】区新建了一个 AI 对话会话,名字自动生成为“AI DevSpace 体验版功能介绍”,再向 AI Shell 发了一句话:“请用一句话介绍 AI DevSpace 体验版能做什么。”AI 随即开始检索和思考,并陆续给了回复。整个过程里我没有碰持久化版,也没有做任何付费操作。

三、错词本的 ArkTS 设计

先定数据模型。一个错词条目至少要有四个字段:单词本身、释义、上一次答错的时间、累计错误次数。复习时还要一个“连续答对次数”,答对三次就毕业。用 ArkTS 写出来大概是这样:

interface WrongWord {
  word: string;
  meaning: string;
  wrongCount: number;
  correctStreak: number;
  lastWrongTime: number;
}

状态管理上,列表用 @State wrongList: WrongWord[] = [] 放在错词本页面,条目本身如果还要在行内直接改答对次数,就把条目包成 @Observed class WrongWordItem,页面里用 @ObjectLink 绑定。这样点“答对了”时只刷新那一行,不用整页重算。单词打卡主流程答错时,调用一个 addToWrongBook(word):先查列表里有没有这个词,有就 wrongCount++ 并把 correctStreak 清零,没有就新插一条;同时把 lastWrongTime 更新成现在。

复习页的排序规则我定为:错误次数多的排前面,同次数的按上次答错时间倒序。答对一次 correctStreak++,答错一次清零;correctStreak 到 3 就把这条移出列表,并可以留一句“已掌握”的提示。规则写死在工具函数里,不要散落在按钮回调里,否则以后改规则要翻好几个文件。

四、让 AI Shell 帮我搭骨架,而不是代替我思考

在 DevSpace 里我刻意只让 AI Shell 做它擅长的事:生成样板代码、列出需要新建的文件、提醒容易漏的点。比如我让它按上面的数据模型生成错词本页面的骨架代码,再逐行检查它生成的 @State、@Observed 用法有没有问题。实测下来有两点体会。第一,AI 给的骨架可以直接用,但细节要自己补——比如 Appwrite 的 Serverless 字段名、本地持久化用 Preferences 还是数据库,要以单词打卡项目本身的现状为准,不能照搬 AI 猜出来的名字。第二,体验版容器会在 3 小时后释放,再次启动是全新容器,所以写了一半的代码一定要及时保存到自己的地方,别只留在容器里。

五、三个容易踩的坑

第一个坑是版本选错。DevSpace 有免费体验版和按核时计费的持久化版,入口处两个卡片挨着,点之前先看清“免费试用、不消耗额度”那几个字再点。第二个坑是把 Star 点反了。GitCode 上已经 Star 过的仓会显示 Starred,再点一次是取消 Star,不是再 Star 一次;点之前先看清状态。第三个坑是积分到账有延迟。今天的浏览任务是立刻到账的,但 Star 和 AI DevSpace 的积分在做完后过了一段时间还没显示,到账状态要以成长中心的积分明细为准,不能靠反复点击去“催”。

六、小结

一次免费的 DevSpace 体验,足够把“错词本”从想法推进到可落地的设计加代码骨架:数据模型五个字段、答对三次毕业的规则、@Observed + @ObjectLink 的行级刷新、以及 AI Shell 辅助生成骨架、人工逐行验收的分工。下一步我打算把这套骨架真正合进单词打卡 App 的工程里跑一次,验证答错收录、排序复习和毕业移出三条链路,再把实测结果补进这篇文章。如果你也在用鸿蒙案例练手,不妨先从“给现有案例加一个小功能”开始,比从零搭一个 App 更容易坚持下来。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。