『AI 编程』用 Codex 开发识字小帮手应用

延续我在 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 26targetSdk 34compileSdk 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 粒子动画与提示音。

使用方式

  1. 克隆并用 Android Studio 打开项目,连接真机或启动模拟器。

  2. 终端构建/安装(二选一):

bash 复制代码
# 生成可调试 APK 并验证依赖
./gradlew assembleDebug

# 安装到已连接设备或模拟器
./gradlew installDebug
  1. 运行与操作:
  • 首页选择"简单/中等/困难",点击开始;
  • 每次看到 1 个汉字:点"认识/不认识"(或"换一个"),系统自动跳到下一字;
  • 点击"查看学习进度"可查看掌握率趋势、难度分布与清单;
  • 在"更多设置"中可:导出 CSV、重置进度、浏览字库。
  1. 数据导出:
  • 设置页选择"导出进度",系统将生成 识字进度_yyyyMMdd.csv
  • CSV 包含:汉字、拼音、难度、掌握情况(认识/不认识/未测试)。

结语

AI 编程并不是"让机器替你写完",而是把重复性劳动交给机器,把人类的时间留给"定义目标、把握方向、做取舍"。识字小帮手只是一个起点,希望本文能给你在 Android 端玩转 Codex 一些参考。如果你也做了类似项目,欢迎留言交流!

相关推荐
Zender Han4 小时前
Flutter 实现人脸检测 — 使用 google_mlkit_face_detection
android·flutter·ios
君逸臣劳4 小时前
玩Android Flutter版本,通过项目了解Flutter项目快速搭建开发
android·flutter
叫我龙翔5 小时前
【MySQL】从零开始了解数据库开发 --- 基本查询
android·mysql·数据库开发
2501_916008895 小时前
iOS 26 性能分析深度指南 包含帧率、渲染、资源瓶颈与 KeyMob 协助策略
android·macos·ios·小程序·uni-app·cocoa·iphone
Cc00108525 小时前
【AI学习笔记】用AI生成spring boot + redis
spring boot·笔记·学习·ai编程
马尚道6 小时前
掌握Kotlin编程,从入门到精通:视频教程
kotlin·ai编程
撩得Android一次心动7 小时前
Android adb 基础使用指南
android·adb
为java加瓦7 小时前
PHP MQTT 订阅服务:实时消息接收与数据库存储解决方案
android
怿星科技7 小时前
Android MVVM架构解析:现代开发的首选模式
android·架构