Android 助手应用,聚合语音识别、图像分析、生物识别、推送通知、电池监控等能力,首页展示综合仪表盘(电池状态 + 推送消息数),支持 Compose 与传统 ViewBinding 共存。
Assistant/
├── app/ # 主应用模块
├── biometric_auth/ # 生物识别认证模块
├── speech_recognition/ # 语音识别模块
├── image_analysis/ # 图像分析模块
├── push_notification/ # 推送通知模块
└── battery_monitor/ # 电池监控模块
[app]
|
-------------------------------------------------
| | | | |
[domain+ui] [push_notification] [battery_monitor] [speech_recognition]
| | | | |
(main/battery/ 推送调度、 电池状态 百度语音 ┐
notification/ 仓库统计、 Flow+历史 示例与 |
speech/image/ Koin 单例) API 出口 SDK |
biometric) [image_analysis]
图像采集/OCR
|
[biometric_auth]
指纹/面部认证
app/:主应用壳。domain/存放仓库与用例(BatteryRepository/PushRepository 等);ui/按功能拆包(main首页导航与仪表盘,battery电池监控,notification推送设置,speech语音入口,image图像入口,biometric中转)。push_notification/:推送中心;初始化 Koin,管理通知渠道、定时 Alarm、消息仓库并提供计数 StateFlow。battery_monitor/:电池广播监听与解析,提供BatteryMonitorApi、实时 Flow 与历史列表。speech_recognition/:百度语音识别示例与基础封装。image_analysis/:摄像头采集、OCR/活体流程的演示模块。biometric_auth/:指纹/面部认证与相关 UI。
ui/main/MainActivity启动,初始化推送模块,加载 ComposeAssistantApp导航。HomeViewModel通过ObserveDashboardUseCase组合BatteryRepository与PushRepository的 StateFlow,驱动首页仪表盘。- 电池数据:
BatteryMonitorApi监听系统广播,写入历史并推送 Flow;BatteryRepository缓存并提供刷新/清理。 - 推送数据:
PushNotificationApi初始化 Koin 单例仓库,调度/即时推送都会写入仓库;PushRepository观察消息数量流,用于仪表盘统计。 - 其他功能入口(语音、图像、生物识别)从首页卡片跳转对应 Activity/Fragment。
- 首页 Activity:
app/src/main/java/com/example/assistant/ui/main/MainActivity.kt - 首页 Compose:
app/src/main/java/com/example/assistant/ui/main/AssistantApp.kt - 推送设置:
app/src/main/java/com/example/assistant/ui/notification/NotificationSettingsActivity.kt - 电池监控:
app/src/main/java/com/example/assistant/ui/battery/BatteryActivity.kt
- JDK 17
- Android Studio Koala / Iguana 及以上
- compileSdk 35,minSdk 30
- 构建 Debug:
./gradlew :app:assembleDebug - JVM 测试:
./gradlew test - 安装调试包:
./gradlew :app:installDebug - Lint:
./gradlew lint
当前仓库的
gradlew仍是 Windows 行尾,类 UNIX 环境若报sh\r请先dos2unix gradlew或重新生成 wrapper。