Reps — 把题库 CSV 变成离线刷题 App
状态:公测 · 角色:独立开发 · 代码:未开源 · 最后更新:2026-10
为什么做
金工实习、思政、专业课……很多老师会直接下发一个 CSV 题库。电脑上翻着看不方便,市面上的刷题 App 又要登录、看广告、上传数据。
Reps 的想法很简单:把 CSV 丢进手机,离线刷。 不需要账号,不需要网络,也不收集刷题数据。
它做了什么
- 通用 CSV 导入:UTF-8 / GBK 自动识别,导入前预览校验,逐行报告错误
- 四种练习模式:背题、模拟考试、错题重练、收藏练习,可配置题量、倒计时和抽题顺序
- 考试式判分:作答时不揭示对错,交卷后统一出分并写入错题本
- 错题本:答错自动收录,连对 2 次自动掌握,也支持手动标记
- 进度恢复:切题即存 + 5 秒静默保存 + 退后台兜底,启动时可恢复 7 天内的进度
- 夜间模式、字体大小、数据清除:该有的设置都有
内置了一套金工实习题库(390 题),装上就能离线刷;也可以导入任意标准 CSV。
技术实现
Kotlin + Jetpack Compose(Material 3)+ Room/SQLite。CSV 解析抽成独立模块,导入前先在本地校验;题库、进度、错题和笔记都只存在应用私有目录,卸载即清除。
网络边界是刻意收窄的:登录/在线题库/激活码/资料下载/更新检查之外,刷题数据不上传。构建时有一个 verifyNetworkContainment 检查,网络调用只能出现在指定包里,避免以后不小心把数据传出去。
局限
- 目前是公测版(0.x),数据格式仍可能调整
- 在线题库和账号功能依赖服务端,纯离线使用只能导入本地 CSV
- 只做了 Android,没有 iOS 和 Web
- 非学校官方应用,题库内容仅供复习参考
Reps 是个人开发者作品,非学校官方应用,与学校、教务处及教务系统运营方无关。题库内容不保证与考试一致,考试安排与成绩以学校教务为准。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 lizhichao!
