338 lines
7.9 KiB
Markdown
338 lines
7.9 KiB
Markdown
|
|
# 📋 文件清单 - SkyLink Android App Navigation & Settings 功能
|
|||
|
|
|
|||
|
|
## 📁 完整文件列表
|
|||
|
|
|
|||
|
|
### 🔵 新增 Kotlin 源代码 (3 文件)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
app/src/main/java/com/skylink/app/
|
|||
|
|
├── ui/
|
|||
|
|
│ ├── HomeFragment.kt # 首页 Fragment - 视频、GPS、统计
|
|||
|
|
│ └── SettingsFragment.kt # 设置 Fragment - 配置和 Ping 诊断
|
|||
|
|
└── utils/
|
|||
|
|
└── PingUtil.kt # Ping 工具类 - 网络诊断
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**详情**:
|
|||
|
|
- **HomeFragment.kt** (175 行)
|
|||
|
|
- 继承自 Fragment,实现 UdpReceiverListener
|
|||
|
|
- 管理 UDP 接收、视频显示、GPS 信息
|
|||
|
|
- Ping 管理和生命周期处理
|
|||
|
|
|
|||
|
|
- **SettingsFragment.kt** (220 行)
|
|||
|
|
- 完整的设置 UI 和交互
|
|||
|
|
- Ping 单个和多个主机
|
|||
|
|
- 参数配置和结果显示
|
|||
|
|
|
|||
|
|
- **PingUtil.kt** (130 行)
|
|||
|
|
- 单个 Ping 函数
|
|||
|
|
- 批量并行 Ping
|
|||
|
|
- 完整错误处理
|
|||
|
|
- 跨平台支持 (Windows/Linux)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 🔵 新增 XML 布局文件 (2 文件)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
app/src/main/res/layout/
|
|||
|
|
├── fragment_home.xml # 首页布局 - 80 行
|
|||
|
|
└── fragment_settings.xml # 设置页面布局 - 200 行
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**详情**:
|
|||
|
|
- **fragment_home.xml**
|
|||
|
|
- 状态文本
|
|||
|
|
- 视频 ImageView
|
|||
|
|
- GPS 信息展示
|
|||
|
|
- 统计数据展示
|
|||
|
|
- 操作按钮组
|
|||
|
|
|
|||
|
|
- **fragment_settings.xml**
|
|||
|
|
- UDP 端口配置区
|
|||
|
|
- Ping 诊断区
|
|||
|
|
- 目标主机输入
|
|||
|
|
- Ping 参数选择
|
|||
|
|
- 执行按钮
|
|||
|
|
- 进度指示
|
|||
|
|
- 结果显示区域
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 🔵 Navigation & Menu (3 文件)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
app/src/main/res/
|
|||
|
|
├── navigation/
|
|||
|
|
│ └── nav_graph.xml # Navigation 图表 - 定义路由
|
|||
|
|
├── menu/
|
|||
|
|
│ ├── bottom_nav_menu.xml # 底部导航菜单
|
|||
|
|
│ └── activity_main_menu.xml # 顶部菜单
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**详情**:
|
|||
|
|
- **nav_graph.xml** (16 行)
|
|||
|
|
- 定义首页和设置两个 Fragment 目的地
|
|||
|
|
- 设置首页为默认起点
|
|||
|
|
|
|||
|
|
- **bottom_nav_menu.xml** (14 行)
|
|||
|
|
- 首页导航项 (ID: homeFragment)
|
|||
|
|
- 设置导航项 (ID: settingsFragment)
|
|||
|
|
|
|||
|
|
- **activity_main_menu.xml** (8 行)
|
|||
|
|
- 设置快捷菜单项
|
|||
|
|
- 显示在 ActionBar
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 🔵 样式和资源 (2 文件)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
app/src/main/res/
|
|||
|
|
├── drawable/
|
|||
|
|
│ └── settings_result_bg.xml # 结果区域背景样式
|
|||
|
|
└── color/
|
|||
|
|
└── bottom_nav_color.xml # 导航栏颜色状态
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**详情**:
|
|||
|
|
- **settings_result_bg.xml**
|
|||
|
|
- 圆角矩形背景
|
|||
|
|
- 浅灰色填充
|
|||
|
|
- 边框轮廓
|
|||
|
|
|
|||
|
|
- **bottom_nav_color.xml**
|
|||
|
|
- 选中态:蓝色
|
|||
|
|
- 未选中态:灰色
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 🔵 文档文件 (4 文件)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
skylink_android_app/
|
|||
|
|
├── QUICK_START.md # 快速开始指南 (5 分钟上手)
|
|||
|
|
├── BUILD_AND_RUN.md # 构建和运行详细指南
|
|||
|
|
├── NAVIGATION_SETTINGS_GUIDE.md # 功能详细说明和 API 文档
|
|||
|
|
└── IMPLEMENTATION_SUMMARY.md # 实现总结和变更记录
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**详情**:
|
|||
|
|
- **QUICK_START.md** (180 行)
|
|||
|
|
- 5 步快速启动
|
|||
|
|
- 功能演示
|
|||
|
|
- 常见问题解答
|
|||
|
|
|
|||
|
|
- **BUILD_AND_RUN.md** (180 行)
|
|||
|
|
- 详细构建步骤
|
|||
|
|
- 运行指南
|
|||
|
|
- 调试技巧
|
|||
|
|
- 发布流程
|
|||
|
|
|
|||
|
|
- **NAVIGATION_SETTINGS_GUIDE.md** (250 行)
|
|||
|
|
- 完整功能说明
|
|||
|
|
- API 参考
|
|||
|
|
- 使用示例
|
|||
|
|
- 性能建议
|
|||
|
|
|
|||
|
|
- **IMPLEMENTATION_SUMMARY.md** (280 行)
|
|||
|
|
- 实现总结
|
|||
|
|
- 文件清单
|
|||
|
|
- 测试检表
|
|||
|
|
- 版本历史
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 🟠 修改的现有文件 (2 文件)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
app/build.gradle.kts # 新增 Navigation 和 Fragment 依赖
|
|||
|
|
app/src/main/java/com/skylink/app/
|
|||
|
|
└── MainActivity.kt # 重构为 Navigation 容器
|
|||
|
|
|
|||
|
|
app/src/main/res/layout/
|
|||
|
|
└── activity_main.xml # 更新为 NavHostFragment + 底部导航
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**变更说明**:
|
|||
|
|
- **build.gradle.kts**: 添加 3 个新依赖库
|
|||
|
|
- **MainActivity.kt**: 完全重写,从直接 UI 改为导航容器
|
|||
|
|
- **activity_main.xml**: 改为 Navigation 布局结构
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 文件统计
|
|||
|
|
|
|||
|
|
| 类别 | 数量 | 总行数 | 备注 |
|
|||
|
|
|------|------|--------|------|
|
|||
|
|
| Kotlin 源代码 | 3 | 525 | HomeFragment, SettingsFragment, PingUtil |
|
|||
|
|
| XML 布局 | 2 | 280 | fragment_home, fragment_settings |
|
|||
|
|
| Navigation | 1 | 16 | nav_graph.xml |
|
|||
|
|
| 菜单文件 | 2 | 22 | bottom_nav_menu, activity_main_menu |
|
|||
|
|
| 样式资源 | 2 | 12 | drawable, color |
|
|||
|
|
| 文档文件 | 4 | 890 | 各类指南和说明 |
|
|||
|
|
| **总计** | **14** | **1,745** | |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔄 依赖关系图
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
MainActivity (容器)
|
|||
|
|
↓
|
|||
|
|
NavHostFragment (Fragment 容器)
|
|||
|
|
├─ HomeFragment (首页)
|
|||
|
|
│ ├─ UdpReceiver (UDP 接收)
|
|||
|
|
│ └─ BitmapUtils (图像处理)
|
|||
|
|
└─ SettingsFragment (设置)
|
|||
|
|
└─ PingUtil (网络诊断)
|
|||
|
|
|
|||
|
|
UI 组件树
|
|||
|
|
├─ BottomNavigationView (底部导航)
|
|||
|
|
├─ ActionBar/Toolbar (顶部菜单)
|
|||
|
|
└─ Fragment 布局
|
|||
|
|
├─ ImageView (视频)
|
|||
|
|
├─ TextView (GPS/统计)
|
|||
|
|
├─ EditText (输入框)
|
|||
|
|
├─ Spinner (下拉列表)
|
|||
|
|
└─ Button (操作按钮)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 文件用途速查表
|
|||
|
|
|
|||
|
|
| 功能需求 | 对应文件 | 说明 |
|
|||
|
|
|---------|---------|------|
|
|||
|
|
| 首页显示 | fragment_home.xml, HomeFragment.kt | 视频/GPS/统计 |
|
|||
|
|
| 设置页面 | fragment_settings.xml, SettingsFragment.kt | 配置/Ping诊断 |
|
|||
|
|
| 页面切换 | nav_graph.xml, bottom_nav_menu.xml | Navigation |
|
|||
|
|
| Ping 功能 | PingUtil.kt, SettingsFragment.kt | 网络诊断 |
|
|||
|
|
| 导航栏 | activity_main.xml, MainActivity.kt | UI 容器 |
|
|||
|
|
| 样式主题 | settings_result_bg.xml, bottom_nav_color.xml | 外观 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📦 依赖清单
|
|||
|
|
|
|||
|
|
### 新增 Gradle 依赖
|
|||
|
|
|
|||
|
|
```gradle
|
|||
|
|
// Navigation 组件
|
|||
|
|
androidx.navigation:navigation-fragment-ktx:2.7.5
|
|||
|
|
androidx.navigation:navigation-ui-ktx:2.7.5
|
|||
|
|
|
|||
|
|
// Fragment 支持
|
|||
|
|
androidx.fragment:fragment-ktx:1.6.2
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 已有依赖(无需修改)
|
|||
|
|
- androidx.core:core-ktx:1.12.0
|
|||
|
|
- androidx.appcompat:appcompat:1.6.1
|
|||
|
|
- com.google.android.material:material:1.11.0
|
|||
|
|
- org.jetbrains.kotlinx:kotlinx-coroutines-*:1.7.3
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 编辑建议
|
|||
|
|
|
|||
|
|
### 快速定位文件
|
|||
|
|
|
|||
|
|
**需要修改 UI**
|
|||
|
|
- 首页:`fragment_home.xml`
|
|||
|
|
- 设置:`fragment_settings.xml`
|
|||
|
|
|
|||
|
|
**需要修改业务逻辑**
|
|||
|
|
- 首页:`HomeFragment.kt`
|
|||
|
|
- 设置:`SettingsFragment.kt`
|
|||
|
|
- Ping:`PingUtil.kt`
|
|||
|
|
|
|||
|
|
**需要修改导航**
|
|||
|
|
- 路由:`nav_graph.xml`
|
|||
|
|
- 菜单:`bottom_nav_menu.xml` / `activity_main_menu.xml`
|
|||
|
|
|
|||
|
|
**需要修改样式**
|
|||
|
|
- 颜色:`bottom_nav_color.xml`
|
|||
|
|
- 背景:`settings_result_bg.xml`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 验证清单
|
|||
|
|
|
|||
|
|
### 编译验证
|
|||
|
|
- [ ] Gradle 同步成功
|
|||
|
|
- [ ] 无编译错误
|
|||
|
|
- [ ] 所有资源文件正确引用
|
|||
|
|
- [ ] 导入的类都已识别
|
|||
|
|
|
|||
|
|
### 运行验证
|
|||
|
|
- [ ] 应用成功启动
|
|||
|
|
- [ ] 首页正常显示
|
|||
|
|
- [ ] 设置页面正常显示
|
|||
|
|
- [ ] 导航栏正常工作
|
|||
|
|
|
|||
|
|
### 功能验证
|
|||
|
|
- [ ] UDP 接收正常
|
|||
|
|
- [ ] 单个 Ping 功能
|
|||
|
|
- [ ] 多个 Ping 功能
|
|||
|
|
- [ ] 结果显示正确
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 快速参考
|
|||
|
|
|
|||
|
|
### 查看首页代码
|
|||
|
|
```bash
|
|||
|
|
code app/src/main/java/com/skylink/app/ui/HomeFragment.kt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 查看设置页面
|
|||
|
|
```bash
|
|||
|
|
code app/src/main/java/com/skylink/app/ui/SettingsFragment.kt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 查看 Ping 工具
|
|||
|
|
```bash
|
|||
|
|
code app/src/main/java/com/skylink/app/utils/PingUtil.kt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 查看布局
|
|||
|
|
```bash
|
|||
|
|
code app/src/main/res/layout/fragment_home.xml
|
|||
|
|
code app/src/main/res/layout/fragment_settings.xml
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📚 相关文档
|
|||
|
|
|
|||
|
|
- 📖 [QUICK_START.md](./QUICK_START.md) - 5 分钟快速上手
|
|||
|
|
- 📖 [BUILD_AND_RUN.md](./BUILD_AND_RUN.md) - 构建运行指南
|
|||
|
|
- 📖 [NAVIGATION_SETTINGS_GUIDE.md](./NAVIGATION_SETTINGS_GUIDE.md) - 功能详解
|
|||
|
|
- 📖 [IMPLEMENTATION_SUMMARY.md](./IMPLEMENTATION_SUMMARY.md) - 实现总结
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📞 问题排查
|
|||
|
|
|
|||
|
|
**找不到某个文件?**
|
|||
|
|
- 检查路径是否正确
|
|||
|
|
- 确认文件是否已创建
|
|||
|
|
- 查看 Android Studio 文件树
|
|||
|
|
|
|||
|
|
**编译错误?**
|
|||
|
|
- 运行 `./gradlew.bat clean`
|
|||
|
|
- 点击 `Sync Now`
|
|||
|
|
- 检查 build.gradle.kts 依赖
|
|||
|
|
|
|||
|
|
**运行错误?**
|
|||
|
|
- 查看 logcat 日志
|
|||
|
|
- 确认设备已连接
|
|||
|
|
- 检查权限设置
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**最后更新**: 2026-01-19
|
|||
|
|
**文档版本**: 1.0
|
|||
|
|
**状态**: ✅ 完成
|