Files
CiE-XinYuChen 2deb08b5b7 feat: Add complete Android application with Jetpack Compose
- Implemented full Android version of Exam-Master application
- Built with Jetpack Compose and Material Design 3
- Features: browse questions, sequential answering, favorites, search, statistics, about page
- Room database for local storage and offline functionality
- Complete navigation system with bottom navigation bar
- Responsive UI design for different screen sizes
- Successfully tested and built APK files

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-26 10:35:32 +00:00

148 lines
4.5 KiB
Markdown

# 题库大师 Android 版
基于原有 Flask Web 应用重新开发的 Android 原生应用,采用最新的 Material Design 3 设计规范,提供完整的题库练习和考试功能。
## 🌟 功能特性
### 📱 原生 Android 体验
- **Material Design 3**: 遵循 Google 最新设计规范
- **响应式布局**: 适配各种屏幕尺寸
- **深色模式**: 支持系统主题切换
- **离线优先**: 所有数据本地存储,无需网络连接
### 📚 完整题库功能
- **题库管理**: 内置完整题库,支持 CSV 导入
- **多种题型**: 单选题、多选题等
- **分类系统**: 按类别和难度组织题目
- **搜索筛选**: 强大的搜索和筛选功能
### 📋 丰富答题模式
- **随机练习**: 从题库随机抽取题目练习
- **顺序练习**: 按顺序练习所有题目,自动记录进度
- **错题本**: 专门练习做错的题目
- **限时模式**: 在规定时间内完成答题
- **模拟考试**: 完整的考试流程和评分
### 🔖 个性化功能
- **收藏系统**: 收藏重要题目,支持标签管理
- **答题历史**: 完整记录所有答题记录
- **统计分析**: 详细的学习统计和进度跟踪
- **个性设置**: 丰富的个性化设置选项
## 💻 技术架构
### 核心技术栈
- **Kotlin**: 100% Kotlin 开发
- **Jetpack Compose**: 现代化 UI 框架
- **Material Design 3**: 最新设计系统
- **Architecture Components**: MVVM 架构
### 主要依赖
- **Room**: 本地数据库
- **Hilt**: 依赖注入
- **Navigation Compose**: 导航框架
- **DataStore**: 偏好设置存储
- **Coroutines**: 异步处理
### 项目结构
```
app/src/main/kotlin/com/exammaster/
├── data/ # 数据层
│ ├── database/ # 数据库相关
│ │ ├── entities/ # 数据库实体
│ │ ├── dao/ # 数据访问对象
│ │ └── ExamMasterDatabase.kt # 数据库配置
│ ├── datastore/ # 偏好设置
│ ├── models/ # 数据模型
│ └── repository/ # 仓储层
├── di/ # 依赖注入
├── ui/ # UI 层
│ ├── components/ # 通用组件
│ ├── navigation/ # 导航
│ ├── screens/ # 屏幕页面
│ └── theme/ # 主题设置
├── utils/ # 工具类
├── ExamMasterApplication.kt # 应用入口
└── MainActivity.kt # 主活动
```
## 🚀 构建和运行
### 环境要求
- Android Studio Iguana | 2023.2.1 或更高版本
- Kotlin 1.9.22 或更高版本
- Gradle 8.4
- Android SDK 34
- 最低支持 Android 7.0 (API 24)
### 构建步骤
1. **克隆项目**
```bash
git clone <repository-url>
cd EXAM-MASTER/ExamMasterAndroid
```
2. **在 Android Studio 中打开项目**
- 选择 "Open an existing Android Studio project"
- 选择 ExamMasterAndroid 文件夹
3. **同步项目**
- Android Studio 会自动同步 Gradle 依赖
4. **运行应用**
- 连接 Android 设备或启动模拟器
- 点击 "Run" 按钮或使用快捷键 Shift+F10
### 构建变体
- **Debug**: 开发版本,包含调试信息
- **Release**: 发布版本,经过代码混淆和优化
## 📊 数据库设计
### 核心表结构
- **questions**: 题目信息
- **history**: 答题历史
- **favorites**: 收藏题目
- **exam_sessions**: 考试会话
### 数据导入
应用首次启动时会自动从 `assets/questions.csv` 导入题库数据。
## 🎨 UI/UX 设计
### Material Design 3
- 采用最新的 Material Design 3 设计语言
- 支持动态取色和自适应主题
- 优雅的动画和交互效果
### 响应式设计
- 支持手机和平板设备
- 自适应屏幕方向变化
- 优化的触摸交互体验
## 🔧 开发指南
### 代码规范
- 遵循 Kotlin 官方编码规范
- 使用 MVVM 架构模式
- 单一职责原则
### 测试策略
- 单元测试:核心业务逻辑
- 集成测试:数据库操作
- UI 测试:关键用户流程
### 性能优化
- 懒加载和分页
- 图片缓存和压缩
- 内存泄漏检测
## 📝 许可证
本项目基于 MIT 许可证开源。
---
**开发者**: ShayneChen
**联系方式**: xinyu-c@outlook.com
**项目主页**: [GitHub](https://github.com/CiE-XinYuChen/EXAM-MASTER)