从 8 月 31 日发布第一个版本,到 9 月 25 日,不到一个月,「六听」更新了 9 次。其中 8 次的更新说明里,都出现了同一个字:修。

这款应用出自湖南大学学生刘嘉上,要解决的是一个听起来不大、却难住过很多人的问题:单词背了不少,六级听力还是听不懂。

六听是今年开源鸿蒙大学生创新大赛里比较有代表性的作品之一——它已经进入应用市场,拿到 64 个评分、5.0 分;在 6—8 月批次的月度评选中,它入选了月度星光应用。

赛事本身也已经走过四个月。三条赛道同时向前:任务一个个被认领,积分榜几乎每周都在换名次,也有人一上来就挑走了难度最高的那几道题。在这个时间点回看六听,正好能看到一款学生应用是怎么被"修"出来的。

一、他先给自己列了一张问题清单

不少作品是从功能出发的。六听反过来,从问题出发。

刘嘉上在申报材料里写了四条:

  • 单词认识,放到真实语速里却反应不过来;

  • 材料听过、题也做过,但从来不复盘;

  • 词汇、听力、复习各在各的流程里,很难坚持下去;

  • 不知道自己的薄弱点在哪,也不知道下一步该练什么。

四条问题都不"技术",却指向同一个结论:卡住学习者的不是材料太少,而是流程断断续续。

所以他没打算再加一批内容,而是把动作串成一条链:

水平诊断 → 个性化安排 → 学习单词 → 听力训练 → 错题与句子复盘 → 间隔复习

还有一个前提他反复强调:这条链要接得上——中途退出、重新打开,都能从上次的位置继续,不用重头再来。

在这里插入图片描述

图 1|六听应用首页:今天该练什么、练到哪了,打开就写在那里

二、反复返工的三个地方

听起来顺,做起来全是返工。把他首月的更新日志按问题归归类,能看出三个地方他来回改了很多次。

一是声音。 句子盲听男声播放异常、连续切换语音失败、题目语音不完整、定位句放不出来、首次小测没声、暂停后不能重播——"声音"这一个问题,在首月的好几个版本里反复冒头。学习类应用一旦音频不稳,用户直接就会卸载,这块只能一遍遍重做。

二是屏幕。 平板上的材料库、词书、答题选项要改成双列;平板菜单点完不切换栏目;到了新系统上,还得换成鸿蒙原生的悬浮胶囊菜单,顺带修掉某些设备上菜单选中后不跳转的毛病。把界面"拉大"从来不等于适配——每一块屏,都要把点击、返回、播放重新验一遍。

三是数据。 有些听力题缺选项中文翻译,有些短语释义写错了,学习记录导入失败,还清掉了一批低价值词条。他没把内容当成"导入一次就完事",而是当成要一直校的东西。

这三块都不算高深,但它们决定了用户第二天还打不打开它。

三、从 1.0.0 到 1.4.2:九个版本的时间表

他的推进方式很朴素:发现一个问题,修掉,再发一版。

版本日期这一版主要在做什么
1.0.08/31首版发布
1.1.09/1加桌面学习小组件;修句子盲听男声、连续切换语音、题目语音、页面返回
1.1.19/3重做首页背景并适配深色模式;平板双列布局;修材料定位句无法播放
1.1.29/5加今日加练、学习记录导入导出、关于页;修选项中文翻译缺失、题目语音不完整
1.29/9上线今日句子、特殊发音突破、学习起点评测;修学习记录导入失败、页面底部被遮挡
1.39/11上线六级听力诊断与报告海报;加品牌开屏动画;修翻译显示不完整、音频暂停后重播、海报被遮挡
1.49/15补 2025.12 真题第二套(7 段材料 25 题);词书升级为三本;修平板菜单点击不切换、首次小测无声
1.4.19/20学习起点测试重播优化;API 23+ 统一鸿蒙原生悬浮胶囊菜单,修部分设备菜单选中不跳转
1.4.29/25每日新词上限改完即时同步;修部分短语中文释义错误

每一版后面几乎都跟着一个"修"字,没有哪一版是单纯堆功能的。也正是这种小步往前走,让应用在一个月内从"能跑"变成了"能上架"。

四、功能按场景排,不按模块排

六听的功能不是按技术模块堆起来的,而是按学习者真正会碰到的场景摆的。

打开就知道今天练什么。 首页把当天的听力材料、单词进度、今日句子、听力诊断放在一屏里;每日任务固定为 1 段材料加 5 到 40 个新词,关掉再开也不会变,临时调高上限只追加新词,已经完成的部分不清零。

听的时候,先逼你用耳朵。 听力训练分三步:盲听作答 → 逐句精听 → 答案解析复盘。逐句精听里原文默认藏着,点一下才出来;想看懂,得先听一遍。

在这里插入图片描述

图 2|逐句精听:原文默认隐藏,点右侧的"眼睛"才显示

听不清的地方,单独拿出来练。 这块叫「特殊发音突破」——连读、弱读、失爆、同化这些"每个词都认识、连起来却听不懂"的现象,他做成 9 个专题、54 条对比例句,每条都配了音标近似读法和中文说明。在他看来,这是同类软件漏得最厉害的一块。

在这里插入图片描述

图 3|特殊发音突破:连读、失去爆破、弱读各配对比例句

五、系统里有的能力,就不自己再写一遍

六听没有为了炫技去堆功能。界面和业务逻辑用 ArkTS 与 ArkUI 写,能调平台能力的就直接调——随包离线语音、桌面服务卡片、系统级安全保存控件、新系统上的原生悬浮导航,都不需要从底层自己搭。

有个取舍很能说明问题:为了让"断网也能学"真的成立,他把英文材料和单词发音全部打进安装包,首次打开时解压到应用自己的目录,之后播音频不再依赖网络;走系统语音那条路时,也是先读设备实际支持哪些音色再下载,不拿一套参数套所有机型;万一设备上没有可用的英文系统音色,还留了个"只用随包离线语音进入"的降级入口,不至于卡在启动页。

把底层交给平台,自己只操心用户那几步走得顺不顺——这是站在开源底座上开发最实在的一点。

六、他给自己设的验收线,是“上架”

最能说明这个项目成熟度的,是工程里那一节「上架前检查」:正式签名打包、在应用市场建应用并核对包名、准备隐私政策与版权材料、至少在手机和平板上各装一次、并验证离线发音、再用云测试补上手上没有的机型和系统版本。

他还特意写了一句:别把模拟器编译通过,当成就等于真机验收。

隐私上也做得很克制:诊断报告走系统级安全保存控件写进图库,必须由用户自己点,不申请长期媒体库读写权限。会员体系同样接好了——商品在应用市场创建,用沙盒账号把购买、取消、已拥有、恢复购买四条路径分别跑通。

现在,六听已经上架应用市场:64 个评分、5.0 分,还上过「新鲜应用」推荐位。

在这里插入图片描述

图 4|应用市场详情页:64 个评分、5.0 分

七、一个备考工具之外,它还留下了什么

对备考的人来说,它把"听不懂"从一种说不清的挫败,变成可以拆解、可以练习、可以复盘的过程。对开源鸿蒙这套底座来说,它是一次证明:这套能力撑得起一个真正上架、被日常使用的应用。而对于同样在做校园项目的学生,刘嘉上走的路也许更值得借鉴——不用一上来就搭大架构,先把手边一个真实的需求彻底做完。

不到一个月,九个版本。他做的东西里几乎没有新技术:离线语音包、多端布局、上架清单、会员配置——都是笨功夫。

写在赛程中间

回到赛事本身。四个月下来,三条赛道的热度都没降:新任务不断有人接,榜单靠前的位置常换常新,高难度题目也有选手主动去啃。

评选节奏上,6—8 月走的是合并批次评审,结果已经公布——六听在这一批的月度星光应用名单里,同批入选的还有听障交流助手等作品。从 9 月起,评选改为按月独立进行,一直持续到 12 月。

这次大赛还有一个不太一样的设定:技术征文之外,它同样在意代码背后的人。AtomGit 在这里不只承担代码托管,也是高校开发者把想法落成成品的场地——创意能变成装得上的应用,每一次提交都会被记录,长期投入也能收到回音。

赛道还在往前跑。后面还会有新的作品被提交、被评选、被推荐出来。我们会继续跟进,也期待看到更多开发者,把身边那些"说不清、但确实难受"的小问题,做成真能用起来的东西。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐