first commit
This commit is contained in:
commit
669f49b1d6
342 files changed
+320811
No files matched your search
@@ -0,0 +1,203 @@
|
||||
# 蓝牙主界面开发进展_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. 再做通话页和三方通话专项。
|
||||
Reference in new issue
Block a user