Files
car-maintenance-system/android/QUICKSTART.md
wangziqi 35098f3028 add
2026-01-08 13:23:09 +08:00

223 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 车管家 Android 客户端 - 快速开始指南
## 项目概述
这是一个现代化的 Android 应用,为车管家 4S店车辆维保管理系统提供移动端支持。
## 开发前准备
### 1. 安装 Android Studio
下载并安装最新版本的 Android Studio:
https://developer.android.com/studio
### 2. 配置 JDK
确保安装了 JDK 17 或更高版本:
```bash
java -version # 应该显示 17.x.x 或更高
```
### 3. 启动后端服务
在运行 Android 应用之前,确保后端服务正在运行:
```bash
# 进入后端项目目录
cd car-maintenance-system/backend
# 使用 Maven 启动服务
mvn spring-boot:run
# 或者在 IDEA 中运行 SpringBootAppApplication.java
```
后端默认运行在 `http://localhost:8080`
### 4. 配置 API 地址
根据你的测试环境,修改 `app/build.gradle.kts`
**使用 Android 模拟器:**
```kotlin
buildConfigField("String", "API_BASE_URL", "\"http://10.0.2.2:8080/api/\"")
```
**使用真机:**
```kotlin
buildConfigField("String", "API_BASE_URL", "\"http://YOUR_PC_IP:8080/api/\"")
// 例如: "http://192.168.1.100:8080/api/"
```
## 运行应用
### 方式一:使用 Android Studio
1. 打开 Android Studio
2. 选择 **File > Open**
3. 选择 `car-maintenance-system/android` 目录
4. 等待 Gradle 同步完成
5. 点击工具栏的 Run 按钮 (绿色三角形)
### 方式二:使用命令行
```bash
cd android
# 查看连接的设备
adb devices
# 安装并运行
./gradlew installDebug
```
## 测试账号
| 角色 | 用户名 | 密码 | 功能 |
|------|--------|------|------|
| 管理员 | admin | 123456 | 系统管理、数据统计 |
| 工作人员 | staff001 | 123456 | 工单处理、预约确认 |
| 客户 | customer001 | 123456 | 查看车辆、预约服务 |
## 项目结构说明
```
android/
├── app/ # 应用模块
│ ├── src/main/
│ │ ├── java/com/carmaintenance/
│ │ │ ├── data/ # 数据层
│ │ │ │ ├── local/ # 本地存储
│ │ │ │ ├── model/ # 数据模型
│ │ │ │ ├── remote/ # API接口
│ │ │ │ ├── repository/ # 数据仓库
│ │ │ │ └── manager/ # Token管理
│ │ │ ├── di/ # 依赖注入
│ │ │ ├── ui/ # UI层
│ │ │ │ ├── navigation/ # 导航
│ │ │ │ ├── screen/ # 页面
│ │ │ │ ├── theme/ # 主题
│ │ │ │ └── viewmodel/ # 视图模型
│ │ │ ├── CarMaintenanceApplication.kt
│ │ │ └── MainActivity.kt
│ │ └── res/ # 资源文件
│ ├── build.gradle.kts # 应用级构建配置
│ └── proguard-rules.pro # 混淆规则
├── build.gradle.kts # 项目级构建配置
├── settings.gradle.kts # Gradle设置
└── gradle.properties # Gradle属性
```
## 常见问题
### 1. Gradle 同步失败
**问题**: Gradle 同步时出现错误
**解决方案**:
```bash
# 清理项目
./gradlew clean
# 重新构建
./gradlew build
# 如果还是失败,删除 .gradle 目录后重试
rm -rf .gradle
```
### 2. 网络请求失败
**问题**: 应用无法连接到服务器
**解决方案**:
- 确认后端服务正在运行
- 检查 API_BASE_URL 配置
- 确保设备和电脑在同一网络(真机测试)
- 检查防火墙设置
### 3. 登录失败
**问题**: 登录时提示错误
**解决方案**:
- 确认后端数据库中有测试用户
- 检查用户名和密码是否正确
- 查看后端日志确认请求是否到达
### 4. 模拟器无法访问宿主机
**问题**: 模拟器中的 App 无法访问电脑上的后端服务
**解决方案**:
使用 `10.0.2.2` 代替 `localhost`:
```kotlin
// 错误
buildConfigField("String", "API_BASE_URL", "\"http://localhost:8080/api/\"")
// 正确(模拟器)
buildConfigField("String", "API_BASE_URL", "\"http://10.0.2.2:8080/api/\"")
```
### 5. 数据显示为空
**问题**: 登录后车辆、工单等数据显示为空
**解决方案**:
- 确认后端数据库有相关数据
- 使用 Admin 账号登录后台添加测试数据
- 检查客户ID是否正确关联
## 调试技巧
### 查看 API 请求
`NetworkModule.kt` 中,日志级别已设置为 `BODY`
```kotlin
if (BuildConfig.DEBUG) {
HttpLoggingInterceptor.Level.BODY
}
```
在 Logcat 中过滤 `OkHttp` 即可看到所有网络请求。
### 查看 Token 存储
在 Logcat 中过滤 `TokenManager` 可以看到 Token 相关的日志。
## 下一步开发
### 功能优先级
1. **高优先级**
- 在线预约表单
- 车辆详情查看
- 工单详情查看
2. **中优先级**
- 管理员完整功能
- 工作人员功能
- 推送通知
3. **低优先级**
- 数据刷新机制
- 离线缓存
- 图片上传
### 扩展功能建议
- [ ] 车辆照片上传
- [ ] 电子签名
- [ ] 扫码查看车辆
- [ ] 消息推送Firebase
- [ ] 支付集成
- [ ] 数据导出
- [ ] 多语言支持
## 技术支持
如有问题,请查看:
- [Jetpack Compose 官方文档](https://developer.android.com/jetpack/compose)
- [Hilt 官方文档](https://dagger.dev/hilt/)
- [Retrofit 官方文档](https://square.github.io/retrofit/)