# PomodoroTimer **Repository Path**: ch1ller/pomodoro-timer ## Basic Information - **Project Name**: PomodoroTimer - **Description**: 基于番茄工作法的专注时间管理 Android 应用。本地注册/登录,待办管理,全屏倒计时,历史统计,主题定制。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-29 - **Last Updated**: 2026-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Pomodoro Timer 基于番茄工作法的专注时间管理 Android 应用。本地注册/登录,待办管理,全屏倒计时,历史统计,主题定制。 --- ## 功能 - **用户系统** — 本地注册/登录/登出,数据按 userId 隔离 - **待办管理** — 创建/编辑/删除,自定义计划时长(25/35 分钟或自定义) - **番茄钟** — 全屏倒计时,环形进度,飞入动画,暂停休息,提前完成 - **休息模式** — 专注完成后自动 5 分钟休息,可跳过 - **统计分析** — 累积专注、当日数据、扇形图分布(日/周/月) - **历史记录** — 日历月视图,标注记录日期,查看当日会话详情与完成度 - **主题定制** — 6 种预设主题色,一键全局切换 - **数据管理** — 重置测试数据、清除统计数据 --- ## 项目结构 ``` app/src/main/java/com/example/czy/ ├── AppDatabase.java # Room 数据库单例(3 表 3 DAO) ├── User.java / UserDao.java # 用户实体与 DAO ├── TodoItem.java / TodoDao.java # 待办实体与 DAO ├── SessionRecord.java # 会话记录实体 ├── SessionDao.java # 会话 DAO(聚合查询) ├── TodoDurationSummary.java # 扇形图 GROUP BY POJO ├── LoginActivity.java # 登录/注册(LAUNCHER) ├── MainActivity.java # 主 Activity(底部导航) ├── TodoFragment.java # 待办列表 ├── CountdownFragment.java # 专注倒计时 ├── StatsFragment.java # 统计仪表板 ├── ProfileFragment.java # 个人中心 ├── HistoryFragment.java # 历史日历 ├── ThemeColorFragment.java # 主题选择 ├── TodoManager.java # 待办业务逻辑 ├── StatsManager.java # 统计业务逻辑 ├── SessionManager.java # 会话管理(SharedPreferences) ├── ThemeManager.java # 主题管理(SharedPreferences) ├── TodoAdapter.java # 待办列表适配器 ├── CalendarDayAdapter.java # 日历网格适配器 ├── SessionAdapter.java # 历史会话适配器 ├── CircleProgressView.java # 自定义环形进度条 ├── PieChartView.java # 自定义扇形图 └── SimpleCountdownTimer.java # 倒计时工具 ``` --- ## 运行截图 ### 登录 / 注册 | 登录 | 注册(用户已存在) | | ----------------------------- | ---------------------------------------- | | ![](screenshots/登录页面.png) | ![](screenshots/注册页面_用户已存在.png) | ### 待办管理 | 添加待办 | 待办列表(默认) | 待办列表(紫色) | | ----------------------------- | ----------------------------- | ---------------------------------- | | ![](screenshots/添加待办.png) | ![](screenshots/待办页面.png) | ![](screenshots/待办页面_紫色.png) | ### 番茄钟 / 专注 | 倒计时中 | 暂停 | 休息中 | | ------------------------------------- | ----------------------------- | -------------------------------------- | | ![](screenshots/番茄钟倒计时页面.png) | ![](screenshots/暂停页面.png) | ![](screenshots/番茄钟页面_休息中.png) | | 休息倒计时 | 已完成 | 暂停耗尽提示 | 不足 5 秒提示 | | ----------------------------------- | -------------------------------------- | -------------------------------------------- | ------------------------------------------------- | | ![](screenshots/休息倒计时页面.png) | ![](screenshots/番茄钟页面_已完成.png) | ![](screenshots/对话框_暂停时间耗尽提示.png) | ![](screenshots/对话框_不记录5秒以下待办提示.png) | ### 统计分析 | 空白状态 | 日视图 | 周视图 | 月视图 | 紫色主题 | | ---------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | ---------------------------------- | | ![](screenshots/统计页面_空白.png) | ![](screenshots/统计页面_日.png) | ![](screenshots/统计页面_周.png) | ![](screenshots/统计页面_月.png) | ![](screenshots/统计页面_紫色.png) | ### 历史 / 个人 / 主题 | 专注历史 | 历史(绿色) | 我的页面 | 我的(紫色) | 主题选择 | | --------------------------------- | -------------------------------------- | ----------------------------- | ---------------------------------- | ------------------------------------- | | ![](screenshots/专注历史页面.png) | ![](screenshots/专注历史页面_绿色.png) | ![](screenshots/我的页面.png) | ![](screenshots/我的页面_紫色.png) | ![](screenshots/选择主题颜色页面.png) | ### 架构图 | 系统架构 | 页面流程 | | ------------------------------- | ------------------------------- | | ![](screenshots/架构分层图.png) | ![](screenshots/页面流程图.png) | --- ## 技术栈 Java 11 · Android 7.0+ (API 24) · Room 2.6.1 · Material Components · Gradle 9.4 --- ## 构建 ```bash git clone https://gitee.com/ch1ller/pomodoro-timer.git cd pomodoro-timer ./gradlew assembleDebug # 输出: app/build/outputs/apk/debug/app-debug.apk ``` 用 Android Studio 打开项目,Sync Gradle 后 Run 即可。首次启动自动创建体验账号 `test / 123456`。 --- ## 变更日志 详见 [CHANGELOG.md](CHANGELOG.md)。