# Android-FinalTest **Repository Path**: blithy/android-final-test ## Basic Information - **Project Name**: Android-FinalTest - **Description**: 安卓期末大作业 - **Primary Language**: Kotlin - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-11-11 - **Last Updated**: 2024-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 安卓大作业 记账应用 2022120741犹正扬 ## 项目概述 这是一个基于Material Design 3设计语言的Android记账应用,采用MVVM架构模式开发。本应用旨在为用户提供一个简单直观、功能完整的个人记账工具。 ## 技术架构 ### 基础框架 - 开发语言:Kotlin - 构建工具:Gradle 8.2 - 最低API:Android 8.0 (API 26) - 目标API:Android 14 (API 34) - 编译SDK:API 34 ### 核心技术栈 - 架构模式:MVVM - 依赖注入:Hilt - 数据存储:Room - 异步处理:Kotlin Coroutines + Flow - UI设计:Material Design 3 - 导航组件:Navigation Component - 数据可视化:MPAndroidChart ## 功能模块 ### 1. 用户认证模块 - 功能实现: - 用户注册:支持用户名、密码、邮箱和手机号注册 - 账号登录:使用用户名和密码登录 - 个人信息:支持修改用户信息和密码 - 技术要点: - 使用Room数据库存储用户信息 - SharedPreferences管理登录状态 - Hilt实现依赖注入 - ViewModel管理UI状态 ### 2. 记账核心模块 - 功能实现: - 收支记录:支持添加收入和支出记录 - 分类管理:通过输入文本进行分类 - 备注功能:支持为每笔交易添加备注 - 技术要点: - Room数据库存储交易记录 - Flow实现数据实时更新 - Material Design 3组件实现UI - DialogFragment实现交易录入 ### 3. 统计分析模块 - 功能实现: - 总览统计:显示总收入和支出 - 图表展示:使用饼图展示数据 - 技术要点: - MPAndroidChart实现数据可视化 - Flow处理数据流 - 自定义数据统计工具类 - Material Design 3实现UI交互 ## 项目结构 app/ ├── src/main/ │ ├── java/com/example/sicnuaccountingapp/ │ │ ├── data/ # 数据层 │ │ │ ├── converter/ # 类型转换器 │ │ │ ├── dao/ # 数据访问对象 │ │ │ ├── database/ # 数据库配置 │ │ │ ├── entity/ # 数据实体类 │ │ │ ├── model/ # 数据模型 │ │ │ └── repository/ # 数据仓库 │ │ ├── di/ # 依赖注入 │ │ ├── ui/ # 界面层 │ │ │ ├── auth/ # 认证相关 │ │ │ ├── home/ # 主页相关 │ │ │ ├── profile/ # 个人信息 │ │ │ ├── statistics/ # 统计分析 │ │ │ └── transaction/ # 交易记录 │ │ └── utils/ # 工具类 │ └── res/ # 资源文件 └── build.gradle # 构建配置 ### 目录说明 - data:数据层,包含数据库、实体类和仓库 - di:依赖注入配置 - ui:用户界面层,按功能模块划分 - utils:通用工具类 ## 技术实现要点 ### 1. 数据库设计 - 采用Room持久化库 - 实体类:User(用户)、Transaction(交易) - 使用TypeConverter处理复杂类型转换 - 使用Flow实现数据实时更新 ### 2. 架构设计 - 采用MVVM架构 - ViewModel管理UI状态 - Repository封装数据操作 - Flow实现数据流处理 ### 3. UI实现 - Material Design 3组件 - 自定义对话框 - 响应式布局 - 数据可视化图表 ### 4. 工具支持 - Hilt依赖注入 - Navigation导航 - ViewBinding视图绑定 - Kotlin协程