Files
Obsidian/项目文档/同力/蓝牙/蓝牙主界面开发进展_2026-07-09.md
T
2026-11-05 14:35:04 +08:00

3.7 KiB

蓝牙主界面开发进展_2026-07-09

范围

本次只专注新项目 F:\zdCode\tongli 的 YX_BlueTooth 蓝牙模块。

不处理:

  • SystemUI
  • Launcher
  • MCU
  • 其他系统联动模块

用户要求

  • UI 和需求要跟老项目 F:\zdCode\tongli_old 一致。
  • 业务逻辑一样。
  • 代码可以不参考老项目。
  • 不需要备份。
  • 资源优先直接拷贝老项目,不从截图切图。

本次完成

主界面已从新项目原来的:

键盘 + 通话记录/联系人横向页签

调整为老项目式:

左侧四菜单 + 右侧页面容器

四个菜单:

蓝牙拨号
联系人
蓝牙音乐
蓝牙设置

代码结构

主入口:

YX_BlueTooth/src/main/java/com/yaxon/bluetooth/main/MainActivity.java

主界面现在只负责:

  • 左侧菜单显示
  • 右侧 Fragment 切换
  • 联系人搜索/重新同步入口
  • 蓝牙连接状态同步给拨号页和联系人页

新增页面:

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

复用页面:

YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/ContactsFragment.java
YX_BlueTooth/src/main/java/com/yaxon/bluetooth/fragment/CallLogsFragment.java

页面说明

蓝牙拨号

文件:

fragment_dial_home.xml
DialHomeFragment.java

结构:

左侧:KeyBoardView
右侧:CallLogsFragment
输入号码后:显示联系人匹配列表

联系人

继续复用:

ContactsFragment
fragment_contacts.xml

主界面右上角保留:

  • 搜索
  • 重新同步

蓝牙音乐

新增:

BtMusicFragment
fragment_bt_music.xml

复用:

BtMusicViewModel
BtMusicControlManager

蓝牙设置

新增:

BtSettingFragment
fragment_bt_setting.xml

复用:

BtSettingViewModel
BtDevForumAdapter
BtDevScanedAdapter

它相当于把原来的 BtSettingDialog 弹窗式设置迁成主界面里的页面式设置。

资源复用

已从老项目拷贝到新项目:

activity_bg.png
common_bg_line.png
title_head_background.png
bluetooth_tabvertical.xml
text_click_selector.xml
icon_tabvertical_selected.png

新增/修改资源:

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 临时编译:

$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

结果:

BUILD SUCCESSFUL

已知风险

  • 当前完成的是主界面四入口骨架,尚未做上车/模拟器视觉验收。
  • 蓝牙拨号页的号码显示、删除键、点击通话记录拨号等细节需要继续对齐老项目。
  • 蓝牙设置页目前复用现有设置逻辑,名称修改、自动接听等细节还需要继续核对老项目。
  • 蓝牙音乐页复用现有音乐逻辑,播放状态、歌曲信息、未连接页还需要实测。
  • 三方通话还未进入本轮实现,后续需要专项验收。

下一步

优先顺序:

  1. 实测主界面四入口切换。
  2. 对齐蓝牙拨号页 UI 和交互。
  3. 对齐联系人页搜索/同步/空状态。
  4. 对齐蓝牙音乐页播放控制和未连接状态。
  5. 对齐蓝牙设置页扫描/连接/断开/删除/蓝牙名称。
  6. 再做通话页和三方通话专项。