Files
m-stecmd/docs/安卓客户端开发计划表.md
阿猫 a976bf525a chore(merge): Update documentation files and file index
- Update Android client architecture documentation
- Update Android client feature specification
- Update Android client development plan
- Refresh file index metadata
2026-09-03 13:48:09 +08:00

68 lines
3.7 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.
# 安卓客户端开发计划表
> 2026-09-03 重建版:原文档随工作树清理丢失,按任务记录复刻。工作量与阶段划分保持原口径。
## 技术基线
| 项 | 选型 |
|---|---|
| 语言 | Kotlin 2.0.21 |
| 架构 | MVVM + Hilt 2.52 + Coroutines 1.9.0 |
| 网络 | Retrofit 2.11.0 + OkHttp 4.12.0 + kotlinx.serialization 1.7.3 |
| 本地存储 | Room 2.6.1(离线优先)+ DataStore 1.1.1 + EncryptedSharedPreferences |
| 蓝牙 | Android 原生 BLE协议解析器独立为纯 Kotlin JVM 模块ble-protocol |
| 构建 | AGP 8.7.3 / Gradle 8.10.2 / JDK 17 / minSdk 26 / targetSdk 34 |
| 测试环境 | https://jcd.stec.p-q.co白名单见 network_security_config |
## 阶段与迭代计划6 阶段12 周)
| 阶段 | 内容 | 工作量 | 周期 | 依赖 |
|---|---|---|---|---|
| S0 工程骨架 | Gradle 多模块、core 基础层、ble-protocol、app 壳(导航/主题/权限/配置) | 4 人日 | 0.5 周 | — |
| S1 登录与首页 | M1 全部 + M2 + M7 配置注入 + 修改密码 | 22 人日 | 2 周 | S0 |
| S2 任务与采集框架 | M3 全部 + M4 骨架(权限/扫描/连接) | 24 人日 | 2 周 | S1 |
| S3 蓝牙采集深化 | M4 解析/下发/暂存/会话 + M5 测点数据 | 28 人日 | 3 周 | S2 |
| S4 统计与上传 | M6 全部 + 离线队列上传调度 | 12 人日 | 2 周 | S3 |
| S5 联调与测试 | 接口联调、真机回归、性能与弱网测试 | 20 人日 | 2 周 | S4 |
| S6 发布准备 | 签名、混淆、应用商店/院内分发、文档 | 4 人日 | 0.5 周 | S5 |
- 迭代工作量合计4+22+24+28+12+4 = **94 人日**(其中开发 86 + S0/S6 管理 8
- 测试 20 人日S5+ 管理发布 8 人日 → **总计约 114 人日**
## 模块 × 工作量矩阵(开发 86 人日)
| 模块 | M1 我的 | M2 首页 | M3 任务 | M4 采集·蓝牙 | M5 测点 | M6 统计 | M7 基础层 | 合计 |
|---|---|---|---|---|---|---|---|---|
| 人日 | 12 | 6 | 10 | 28 | 12 | 8 | 10 | 86 |
## 里程碑MS1MS6
| 里程碑 | 时点 | 验收标准 |
|---|---|---|
| MS1 工程可构建 | S0 末(第 0.5 周) | Android Studio 打开即 Sync:app:assembleDebug 通过,协议单测绿 |
| MS2 登录闭环 | S1 末(第 2.5 周) | 三种登录方式 + Token 管理 + 项目列表可用 |
| MS3 任务可用 | S2 末(第 4.5 周) | 任务列表/详情完整BLE 扫描连接真机通过 |
| MS4 采集闭环 | S3 末(第 7.5 周) | 真机采集→解析→本地暂存全链路跑通 |
| MS5 数据闭环 | S4 末(第 9.5 周) | 采集数据上传成功,弱网队列补传可用 |
| MS6 发布 | S6 末(第 12 周) | 签名包通过验收测试,交付文档齐全 |
## 风险与应对8 项)
| # | 风险 | 应对 |
|---|---|---|
| 1 | SecretKey/SystemCode 更换频繁 | 全配置化支持不换包更换M7-04 |
| 2 | 429/403 限流误伤外业作业 | 队列退避重试 + 明确用户提示 |
| 3 | BLE 各厂商兼容性差异 | 主流机型真机矩阵测试;协议层独立单测降低解析回归成本 |
| 4 | 弱网/断网场景数据丢失 | Room 离线队列先落盘,网络恢复自动补传 |
| 5 | 接口变更V4.5 之后) | kotlinx.serialization 显式注解,字段演进留默认值 |
| 6 | 2.8 废除后的上传通道未定 | 预留 UploadQueue 抽象,通道可替换 |
| 7 | 真机依赖与外业时间窗 | S0S2 期间提前申请设备与测试账号 |
| 8 | 人员并行度 | M428 人日为关键路径S3 阶段优先投入 |
## 交付物清单
- 可发布 APK签名、混淆配置齐备
- 源码工程(本仓库)+ 架构说明文档
- 测试报告S5 产出)
- 《安卓客户端功能明细表》(接口覆盖对照)