延续我在 AI 编程上的实践探索。前不久我用 Claude Code 从零到一做了一套 Web 侧的减脂追踪应用(传送门:『AI 编程』用 Claude Code 从零到一开发全栈减脂追踪应用)。这次把舞台搬到 Android,尝试用 Codex CLI 和我配对编程,做一款真正能在家里用起来的"小而美" App ------ 识字小帮手。
为什么做它
女儿在幼儿园大班,已经通过绘本、电视、点读笔认识了不少字。作为家长,我想:
- 能不能快速评估"已经会/还不会"的字?
- 过程别太枯燥,最好有"奖励感"。
- 数据可沉淀,阶段性复测、导出留档更安心。
于是就有了这款聚焦"认字测评 + 轻量复习"的小应用。
Github 项目地址:github.com/xiaweizi/St...
应用简介
识字小帮手是一款面向幼小衔接阶段的 Android 应用,内置约 3000 个常用汉字,按使用频率与笔画复杂度分为"简单 / 中等 / 困难"三级。家长与孩子一起,逐字判定"认识 / 不认识",应用会:
- 实时记录结果并持久化;
- 提供掌握率、趋势曲线与难度分布;
- 支持 CSV 导出与一键重置;
- 识对时撒花动画+提示音,增强成就感。
项目截图
首页 | 识字流程 | 字库与设置 |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
功能与亮点
- 逐字测验:一次展示 1 个汉字,配拼音与难度标签;"认识 / 不认识 / 换一个"三键即刻操作。
- 难度分级:简单 / 中等 / 困难三级筛选,优先推送"待巩固"和"未测"字,降低挫败感。
- 正反馈设计:识对触发撒花动画与提示音,小朋友更有"被奖励"的感觉。
- 数据可视化:
- 掌握率趋势(周/月/年),看得见的进步;
- 难度分布饼图,一眼看出各层级掌握情况;
- 已认识/待巩固清单,便于针对性复习。
- 数据导出:一键生成 CSV(含汉字、拼音、难度、掌握情况),方便打印或二次分析。
- 进度重置:阶段性复测时一键清空,重新开始。
- 字库总览:浏览全部汉字,支持批量编辑状态。
技术选型
- 语言:Kotlin(JDK 17)
- UI:ViewBinding + Material Components
- 图表:MPAndroidChart(折线图/饼图)
- 本地存储:SharedPreferences 封装(
ProgressStore
) - 拼音:Android ICU
Transliterator
(无需外部字典) - 协程:Kotlin Coroutines +
lifecycleScope
- 兼容性:
minSdk 26
,targetSdk 34
,compileSdk 34
代码结构
bash
StudyWord/
├── app/
│ ├── build.gradle # 依赖与构建配置(Java/Kotlin 17, viewBinding 等)
│ └── src/main/
│ ├── AndroidManifest.xml
│ ├── java/com/studyword/literacy/
│ │ ├── model/
│ │ │ └── LearningCharacter.kt # 数据模型与难度枚举
│ │ ├── data/
│ │ │ ├── CharacterRepository.kt # 加载字库 + 生成拼音
│ │ │ └── ProgressStore.kt # 认知结果与历史快照持久化
│ │ ├── ui/
│ │ │ ├── MainActivity.kt # 测验主流程 + 撒花动画
│ │ │ ├── ProgressActivity.kt # 统计页(趋势折线+难度饼图)
│ │ │ ├── SettingsActivity.kt # 导出 CSV、重置、跳转字库总览
│ │ │ └── CharacterLibraryActivity.kt# 字库总览与状态编辑
│ │ └── util/
│ │ └── PinyinConverter.kt # ICU 转拼音工具
│ ├── assets/character_sets.json # 简/中/难 3000 字配置
│ └── res/... # 布局、样式、颜色、图片等
├── ScreenShot/... # 项目截图(用于文档展示)
└── README.md / blog.md # 文档
几个关键点:
CharacterRepository.kt
:读取assets/character_sets.json
,按"简单→中等→困难"顺序分组去重并生成拼音。PinyinConverter.kt
:使用Transliterator.getInstance("Han-Latin/Names")
转拼音,保留声调并做清洗。ProgressStore.kt
:除已认识/待巩固集合外,还维护"历史快照",用于绘制掌握率趋势(最多保留 60 条)。ProgressActivity.kt
:基于 MPAndroidChart 绘制折线与饼图,并提供周/月/年粒度聚合。MainActivity.kt
:将"待巩固→未测→已掌握"作为队列顺序,既保证复习优先,又让交互更顺滑;识对触发彩带/Emoji 粒子动画与提示音。
使用方式
-
克隆并用 Android Studio 打开项目,连接真机或启动模拟器。
-
终端构建/安装(二选一):
bash
# 生成可调试 APK 并验证依赖
./gradlew assembleDebug
# 安装到已连接设备或模拟器
./gradlew installDebug
- 运行与操作:
- 首页选择"简单/中等/困难",点击开始;
- 每次看到 1 个汉字:点"认识/不认识"(或"换一个"),系统自动跳到下一字;
- 点击"查看学习进度"可查看掌握率趋势、难度分布与清单;
- 在"更多设置"中可:导出 CSV、重置进度、浏览字库。
- 数据导出:
- 设置页选择"导出进度",系统将生成
识字进度_yyyyMMdd.csv
; - CSV 包含:汉字、拼音、难度、掌握情况(认识/不认识/未测试)。
结语
AI 编程并不是"让机器替你写完",而是把重复性劳动交给机器,把人类的时间留给"定义目标、把握方向、做取舍"。识字小帮手只是一个起点,希望本文能给你在 Android 端玩转 Codex 一些参考。如果你也做了类似项目,欢迎留言交流!