首页 关于我 项目 博客 图谱 简历 联系 English
返回列表
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 逻辑都有单元测试,边界情况(跨零点、休息超出工作区间、休息段重叠)单独覆盖。