# TallyBook **Repository Path**: xaek/tally-book ## Basic Information - **Project Name**: TallyBook - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-06 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 记账本 (TallyBook) 📱 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Android](https://img.shields.io/badge/Android-API%2024+-green.svg)](https://developer.android.com/) [![Kotlin](https://img.shields.io/badge/Kotlin-1.9+-blue.svg)](https://kotlinlang.org/) [![JDK](https://img.shields.io/badge/JDK-11-green.svg)](https://adoptium.net/) [![Compose](https://img.shields.io/badge/Compose-1.5+-orange.svg)](https://developer.android.com/jetpack/compose) 一个简洁实用的Android记账应用,使用Jetpack Compose和现代Android开发技术构建。 ## ✨ 功能特性 ### 📊 核心功能 - **💰 收入记录**: 记录各种收入来源 - **💸 支出记录**: 记录日常支出 - **📈 实时统计**: 显示总收入、总支出和余额 - **🏷️ 分类管理**: 支持自定义分类 - **📝 备注功能**: 为每笔交易添加备注 - **🔍 筛选功能**: 按收入/支出类型筛选 - **🗑️ 删除功能**: 支持删除交易记录 ### 🎨 用户界面 - **🎯 现代化设计**: 使用Material Design 3 - **👆 直观操作**: 简洁的界面设计 - **🎨 颜色区分**: 收入(绿色)和支出(红色)用不同颜色区分 - **📱 响应式布局**: 适配不同屏幕尺寸 ### 🔍 数据管理 - **💾 本地存储**: 使用Room数据库本地存储 - **⚡ 实时更新**: 数据变化实时反映在界面上 - **🔒 数据安全**: 本地数据库确保数据安全 ## 🏗️ 技术架构 ### 架构模式 - **MVVM架构**: 使用ViewModel管理UI状态 - **Repository模式**: 数据访问层抽象 - **依赖注入**: 使用Hilt进行依赖管理 ### 技术栈 - **UI框架**: Jetpack Compose - **数据库**: Room Database - **依赖注入**: Hilt - **异步处理**: Kotlin Coroutines + Flow - **架构组件**: ViewModel, LiveData - **时间处理**: ThreeTenABP (JDK 11兼容) ## 📱 应用截图 > 应用截图将在后续版本中添加 ## 🚀 快速开始 ### 环境要求 - Android Studio Hedgehog | 2023.1.1 或更高版本 - **JDK 11** (完全兼容,推荐使用) - Android SDK API 24 或更高版本 - **注意**: JDK 21 与当前Gradle版本不兼容 ### 构建步骤 1. 克隆项目到本地 ```bash git clone https://gitee.com/xaek/tally-book.git cd tally-book ``` 2. 在Android Studio中打开项目 3. **检查Java版本兼容性:** ```bash # Windows 命令提示符 setup-java.bat # Windows PowerShell .\setup-java.ps1 ``` 4. **如果遇到依赖错误,请运行清理脚本:** ```bash # Windows PowerShell .\clean-gradle.ps1 # Windows 命令提示符 clean-gradle.bat ``` 5. 在 Android Studio 中执行:`File` → `Invalidate Caches and Restart` 5. 等待Gradle同步完成 6. 连接Android设备或启动模拟器 7. 点击运行按钮或使用命令: ```bash ./gradlew installDebug ``` ### 使用说明 1. **添加交易**: 点击右下角的"+"按钮 2. **选择类型**: 选择收入或支出 3. **填写信息**: 输入金额、描述、分类和备注 4. **查看统计**: 顶部显示总收入、总支出和余额 5. **筛选记录**: 使用筛选按钮查看特定类型的交易 6. **删除记录**: 点击交易卡片右侧的删除按钮 ## 📁 项目结构 ``` app/src/main/java/com/example/tallybook/ ├── data/ # 数据层 │ ├── Transaction.kt # 交易数据实体 │ ├── TransactionDao.kt # 数据访问对象 │ ├── TransactionRepository.kt # 数据仓库 │ ├── AppDatabase.kt # 数据库配置 │ ├── Converters.kt # 类型转换器 │ └── SampleData.kt # 示例数据 ├── di/ # 依赖注入 │ └── DatabaseModule.kt # 数据库模块 ├── ui/ # 用户界面 │ ├── components/ # UI组件 │ │ ├── TransactionCard.kt # 交易卡片 │ │ ├── AddTransactionDialog.kt # 添加交易对话框 │ │ └── StatsCard.kt # 统计卡片 │ ├── screens/ # 屏幕 │ │ └── HomeScreen.kt # 主屏幕 │ ├── viewmodel/ # 视图模型 │ │ └── TransactionViewModel.kt │ └── theme/ # 主题 ├── MainActivity.kt # 主活动 └── TallyBookApplication.kt # 应用类 ``` ## 📖 详细文档 - [使用指南](USAGE.md) - 详细的使用说明和常见问题 - [Java兼容性说明](docs/JAVA_COMPATIBILITY.md) - Java版本兼容性详情 - [故障排除指南](docs/TROUBLESHOOTING.md) - 常见问题解决方案 - [贡献指南](CONTRIBUTING.md) - 如何参与项目开发 - [API文档](docs/API.md) - 开发API文档(计划中) ## 🛠️ 开发计划 ### 🚀 即将推出 - [ ] 📊 图表统计展示 - [ ] 📅 日期范围筛选 - [ ] 💾 数据导出功能 - [ ] 🎨 自定义主题 - [ ] 🔔 提醒功能 ### 🔮 未来功能 - [ ] 💰 预算管理 - [ ] 👥 多账户支持 - [ ] ☁️ 云同步功能 - [ ] 📱 桌面端支持 - [ ] 🌐 多语言支持 ## 🤝 贡献指南 欢迎提交Issue和Pull Request来改进这个项目! ### 贡献步骤 1. Fork 这个项目 2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交你的更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开一个 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 🙏 致谢 - [Jetpack Compose](https://developer.android.com/jetpack/compose) - 现代化UI框架 - [Room Database](https://developer.android.com/training/data-storage/room) - 本地数据库 - [Material Design](https://material.io/) - 设计语言 - [Hilt](https://dagger.dev/hilt/) - 依赖注入 ## 📞 联系方式 - 项目主页: [https://gitee.com/xaek/tally-book](https://gitee.com/xaek/tally-book) - 问题反馈: [Issues](https://gitee.com/xaek/tally-book/issues) --- ⭐ 如果这个项目对你有帮助,请给它一个星标!