Files
Obsidian/项目文档/同力/蓝牙/蓝牙主界面开发进展_2026-07-09.md
T

203 lines
3.7 KiB
Markdown
Raw Normal View History

2026-11-05 14:35:04 +08:00
# 蓝牙主界面开发进展_2026-07-09
## 范围
本次只专注新项目 `F:\zdCode\tongli` 的 `YX_BlueTooth` 蓝牙模块。
不处理:
- SystemUI
- Launcher
- MCU
- 其他系统联动模块
## 用户要求
- UI 和需求要跟老项目 `F:\zdCode\tongli_old` 一致。
- 业务逻辑一样。
- 代码可以不参考老项目。
- 不需要备份。
- 资源优先直接拷贝老项目,不从截图切图。
## 本次完成
主界面已从新项目原来的:
```text
键盘 + 通话记录/联系人横向页签
```
调整为老项目式:
```text
左侧四菜单 + 右侧页面容器
```
四个菜单:
```text
蓝牙拨号
联系人
蓝牙音乐
蓝牙设置
```
## 代码结构
主入口:
```text
YX_BlueTooth/src/main/java/com/yaxon/bluetooth/main/MainActivity.java
```
主界面现在只负责:
- 左侧菜单显示
- 右侧 Fragment 切换
- 联系人搜索/重新同步入口
- 蓝牙连接状态同步给拨号页和联系人页
新增页面:
```text
YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/DialHomeFragment.java
YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/BtMusicFragment.java
YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/BtSettingFragment.java
```
复用页面:
```text
YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/ContactsFragment.java
YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/CallLogsFragment.java
```
## 页面说明
### 蓝牙拨号
文件:
```text
fragment_dial_home.xml
DialHomeFragment.java
```
结构:
```text
左侧:KeyBoardView
右侧:CallLogsFragment
输入号码后:显示联系人匹配列表
```
### 联系人
继续复用:
```text
ContactsFragment
fragment_contacts.xml
```
主界面右上角保留:
- 搜索
- 重新同步
### 蓝牙音乐
新增:
```text
BtMusicFragment
fragment_bt_music.xml
```
复用:
```text
BtMusicViewModel
BtMusicControlManager
```
### 蓝牙设置
新增:
```text
BtSettingFragment
fragment_bt_setting.xml
```
复用:
```text
BtSettingViewModel
BtDevForumAdapter
BtDevScanedAdapter
```
它相当于把原来的 `BtSettingDialog` 弹窗式设置迁成主界面里的页面式设置。
## 资源复用
已从老项目拷贝到新项目:
```text
activity_bg.png
common_bg_line.png
title_head_background.png
bluetooth_tabvertical.xml
text_click_selector.xml
icon_tabvertical_selected.png
```
新增/修改资源:
```text
activity_main.xml
listitem_main.xml
fragment_dial_home.xml
fragment_bt_music.xml
fragment_bt_setting.xml
colors.xml
dimens.xml
```
## 验证
默认 Java 11 会失败,原因是当前 Android Gradle Plugin 需要 Java 17。
使用 Android Studio JBR 临时编译:
```powershell
$env:JAVA_HOME='C:\Program Files\Android\Android Studio\jbr'
$env:Path="$env:JAVA_HOME\bin;$env:Path"
.\gradlew.bat :YX_BlueTooth:assembleDebug --no-daemon --console=plain
```
结果:
```text
BUILD SUCCESSFUL
```
## 已知风险
- 当前完成的是主界面四入口骨架,尚未做上车/模拟器视觉验收。
- 蓝牙拨号页的号码显示、删除键、点击通话记录拨号等细节需要继续对齐老项目。
- 蓝牙设置页目前复用现有设置逻辑,名称修改、自动接听等细节还需要继续核对老项目。
- 蓝牙音乐页复用现有音乐逻辑,播放状态、歌曲信息、未连接页还需要实测。
- 三方通话还未进入本轮实现,后续需要专项验收。
## 下一步
优先顺序:
1. 实测主界面四入口切换。
2. 对齐蓝牙拨号页 UI 和交互。
3. 对齐联系人页搜索/同步/空状态。
4. 对齐蓝牙音乐页播放控制和未连接状态。
5. 对齐蓝牙设置页扫描/连接/断开/删除/蓝牙名称。
6. 再做通话页和三方通话专项。