2026年8月28日
WorkCount 工时统计
用 Kotlin 和 Jetpack Compose 写的 Android 工时记录应用,自动扣除休息时间并生成周报月报。
#Kotlin#Jetpack Compose#Android#WorkManager
记录每天几点上班、几点下班、中间休息了多久,然后算出真正干了多少活。自己需要,就写了一个。
做了什么
- 打卡记录:记上下班时间,中间可以插入多次休息,每次休息带原因、暂停时间和恢复时间。
- 有效工时计算:这是核心逻辑。休息时段要按工作区间裁剪,重叠的休息段先合并再扣,跨零点的班次也要算对,最后得出当天有效工时和休息时长。
- 统计:按周和按月汇总,周一为一周起点,能看每天的有效时长和休息次数。
- 日历联动:读取设备日历里的近期安排,到点用弹窗提醒。
- AI 助手:接 DeepSeek,配了一个「工作关怀」人格,聊的是喝水、起身、收尾这类具体动作,不堆空话。
- 设置:API Key 用
security-crypto加密存储。
技术栈
Kotlin + Jetpack Compose(Material 3)+ WorkManager + kotlinx.serialization,界面走纸感的米白配色。
测试
工时计算和 AI 逻辑都有单元测试,边界情况(跨零点、休息超出工作区间、休息段重叠)单独覆盖。