# Android **Repository Path**: r2954828845/android ## Basic Information - **Project Name**: Android - **Description**: 安卓期末作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-12-07 - **Last Updated**: 2025-12-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 晴记 (Weather Note App) 一款创新的 Android 应用,将天气信息与备忘录功能深度结合。通过天气场景驱动备忘录提醒,帮助用户根据天气变化做好准备。 ## 功能特性 ### 核心功能 - **天气模块** - 实时天气展示(温度、天气状态、湿度、风速) - 未来3天天气预报 - 多城市管理 - 离线缓存支持 - **备忘录模块** - 基础 CRUD 操作(创建、编辑、删除、查询) - 场景化天气标签(晴天、雨天、高温、寒冷) - 图片附件支持 - 搜索功能 - **智能联动** - 天气触发提醒:当天气匹配时自动提醒相关备忘录 - 天气页面显示相关备忘录 - 天气预警通知 ## 技术栈 - **语言**: Kotlin - **UI**: Jetpack Compose + Material 3 - **架构**: MVVM + Repository Pattern - **数据库**: Room - **网络**: Retrofit + Gson - **异步**: Kotlin Coroutines + Flow - **图片加载**: Coil - **测试**: JUnit 4, MockK, Kotest Property Testing ## 项目结构 ``` app/src/main/java/com/example/weathernote/ ├── data/ │ ├── local/ │ │ ├── entity/ # Room 实体类 │ │ └── dao/ # Room DAO 接口 │ ├── remote/ │ │ ├── api/ # Retrofit API 接口 │ │ └── model/ # API 响应模型 │ └── repository/ # 数据仓库 ├── domain/ │ └── model/ # 领域模型 ├── ui/ │ ├── screen/ │ │ ├── weather/ # 天气页面 │ │ ├── note/ # 备忘录页面 │ │ └── city/ # 城市管理页面 │ ├── component/ # 可复用组件 │ └── viewmodel/ # ViewModel └── util/ # 工具类 ``` ## 开发设置 ### 前置要求 - Android Studio Hedgehog | 2023.1.1 或更高版本 - JDK 11 或更高版本 - Android SDK (API 24-34) ### 配置步骤 1. **克隆项目** ```bash git clone cd Android_ranxujun2023110424 ``` 2. **配置 API Key** - ✅ API Key 已配置完成(OpenWeatherMap) - 如需更换 API Key,编辑 `local.properties` 文件中的 `weather.api.key` 3. **同步项目** - 打开 Android Studio - 选择 "Open an Existing Project" - 等待 Gradle 同步完成 4. **运行应用** - 连接 Android 设备或启动模拟器 - 点击 Run 按钮或按 Shift+F10 ## 构建 ### Debug 构建 ```bash ./gradlew assembleDebug ``` ### Release 构建 ```bash ./gradlew assembleRelease ``` ## 测试 ### 运行单元测试 ```bash ./gradlew test ``` ### 运行 Android 测试 ```bash ./gradlew connectedAndroidTest ``` ### 运行属性测试 ```bash ./gradlew test --tests "*PropertyTest" ``` ## 📚 文档目录 ### 核心文档 - **docs/** - 需求分析、系统设计、功能实现文档 - `01-需求分析.md` - 项目需求和功能规划 - `02-系统设计.md` - 系统架构和技术选型 - `03-功能实现.md` - 详细的功能实现说明 ### 开发文档 - **project-docs/** - 开发过程中的更新说明和技术文档 - 功能实现文档 - 问题修复记录 - 测试指南 - 查看 `project-docs/README.md` 了解完整目录 ### 规格文档 - **.kiro/specs/weather-note-app/** - 项目规格文档 - `requirements.md` - 需求文档 - `design.md` - 设计文档 - `tasks.md` - 实现任务列表 ## 开发进度 查看 `project-docs/PROJECT_STATUS.md` 了解当前开发进度和完成情况。 ## 许可证 本项目仅用于学习和期末项目展示。 ## 作者 冉旭君 - 2023110424