xdz_android/
├── app/ # 应用主模块(业务层)
│ ├── src/main/
│ │ ├── java/ # 业务代码(Activity、Fragment、ViewModel等)
│ │ └── res/ # 资源文件(布局、图片、字符串等)
│ └── build.gradle
│
├── base-core/ # 基础核心模块(最底层)
│ └── src/main/
│ └── java/ # 核心工具类和接口定义
│
├── base-common/ # 基础通用模块
│ └── src/main/
│ └── java/ # 通用组件(Dialog、网络请求封装等)
│
├── capability-ble/ # BLE 蓝牙能力模块
│ └── src/main/
│ └── java/ # BLE 相关功能实现
│
├── capability-socketio/ # SocketIO 实时通信能力模块
│ └── src/main/
│ └── java/ # SocketIO 客户端封装
│
├── capability-push/ # 推送能力模块
│ └── src/main/
│ └── java/ # 推送功能封装(极光推送等)
│
├── capability-qrcode/ # 二维码能力模块
│ └── src/main/
│ └── java/ # 二维码扫描/生成功能
│
├── capability-share/ # 分享能力模块
│ └── src/main/
│ └── java/ # 微信、QQ等分享功能
│
├── capability-nfc/ # NFC 能力模块
│ └── src/main/
│ └── java/ # NFC 读写功能
│
├── build.gradle # 项目根 build.gradle
├── settings.gradle # 模块配置
└── gradle/ # Gradle 配置
└── libs.versions.toml # 依赖版本管理
| 模块 | 命名空间 | 说明 |
|---|---|---|
| app | com.narutohuo.xindazhou |
应用主模块,包含所有业务代码和UI |
| 模块 | 命名空间 | 说明 |
|---|---|---|
| base-core | com.narutohuo.xindazhou.core |
核心基础模块,提供最基础的接口和工具类 |
| base-common | com.narutohuo.xindazhou.common |
通用基础模块,提供通用组件和网络封装 |
| 模块 | 命名空间 | 说明 |
|---|---|---|
| capability-ble | com.narutohuo.xindazhou.ble |
蓝牙BLE功能封装 |
| capability-socketio | com.narutohuo.xindazhou.socketio |
SocketIO实时通信封装 |
| capability-push | com.narutohuo.xindazhou.push |
推送功能封装(极光推送等) |
| capability-qrcode | com.narutohuo.xindazhou.qrcode |
二维码扫描/生成功能 |
| capability-share | com.narutohuo.xindazhou.share |
分享功能封装(微信、QQ等) |
| capability-nfc | com.narutohuo.xindazhou.nfc |
NFC读写功能封装 |
┌─────────────────────────────────────────────────────────┐
│ app │
│ (应用主模块 - 业务层) │
└────────────┬────────────────────────────────────────────┘
│
│ 依赖所有模块
│
┌────────┼────────┬────────┬────────┬────────┬────────┐
│ │ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼ ▼
┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐
│base- │ │base- │ │cap- │ │cap- │ │cap- │ │cap- │
│common│ │core │ │socket │ │ble │ │push │ │qrcode │
└───┬───┘ └───────┘ │io │ └───────┘ └───────┘ └───────┘
│ └───────┘
│ ┌───────┐
│ │cap- │
│ │share │
│ └───────┘
│ ┌───────┐
│ │cap- │
│ │nfc │
│ └───────┘
│
│ 依赖
▼
┌───────┐
│base- │
│core │
└───────┘
▲
│ 所有 capability-* 模块都依赖
│
┌───┴───────────────────────────────────────────┐
│ capability-ble │
│ capability-socketio │
│ capability-push │
│ capability-qrcode │
│ capability-share │
│ capability-nfc │
└───────────────────────────────────────────────┘
app:
基础模块:
- base-core
- base-common
能力模块:
- capability-ble
- capability-socketio
- capability-push
- capability-qrcode
- capability-share
- capability-nfc
第三方库:
- AndroidX Core KTX
- AppCompat
- Material Design
- ConstraintLayout
- Lifecycle (ViewModel, LiveData)
- Kotlin Coroutines
- Navigation
- Retrofit & OkHttp
- Glide
- Room
- Jetpack Compose
- Timber (日志)
- Hyperion (调试工具)
- Chuck (网络调试)
base-common:
项目模块:
- base-core # 依赖基础核心模块
第三方库:
- AndroidX Core KTX
- Fragment KTX
- Material Design
- Gson
- Retrofit & Gson Converter
base-core:
第三方库:
- AndroidX Core KTX # 仅依赖最基础的 AndroidX
capability-socketio:
项目模块:
- base-core # 依赖基础核心模块
第三方库:
- AndroidX Core KTX
- Socket.IO Client (io.socket:socket.io-client:2.1.0)
- Gson
- Kotlin Coroutines
capability-ble:
项目模块:
- base-core # 依赖基础核心模块
第三方库:
- AndroidX Core KTX
capability-push:
项目模块:
- base-core # 依赖基础核心模块
第三方库:
- AndroidX Core KTX
# 极光推送SDK(待添加)
capability-qrcode:
项目模块:
- base-core # 依赖基础核心模块
第三方库:
- AndroidX Core KTX
# 华为扫码SDK(待添加)
capability-share:
项目模块:
- base-core # 依赖基础核心模块
第三方库:
- AndroidX Core KTX
# 微信分享SDK(待添加)
# QQ分享SDK(待添加)
capability-nfc:
项目模块:
- base-core # 依赖基础核心模块
第三方库:
- AndroidX Core KTX
层级 1: base-core
└─ 最底层,不依赖任何项目模块,只依赖 AndroidX Core
层级 2: base-common + 所有 capability-* 模块
└─ 都依赖 base-core
层级 3: app
└─ 依赖所有基础模块和能力模块
base-core:
base-common:
capability- 模块*:
app 模块:
2.9.0 - HTTP 客户端4.12.0 - HTTP 网络库2.10.1 - JSON 解析1.11.0 - Material 组件2.7.6 - 导航组件1.7.3 - 协程支持2.6.1 - 本地数据库4.16.0 - 图片加载库2.1.0 - SocketIO 客户端0.9.34 - 应用内调试工具4.0.0 - 网络请求拦截器(调试用)5.0.1 - 日志库| 模块 | 职责 | 可被谁依赖 |
|---|---|---|
| base-core | 提供最基础的接口和工具类 | 所有模块 |
| base-common | 提供通用组件和网络封装 | app |
| capability-ble | BLE 功能封装 | app |
| capability-socketio | SocketIO 功能封装 | app |
| capability-push | 推送功能封装 | app |
| capability-qrcode | 二维码功能封装 | app |
| capability-share | 分享功能封装 | app |
| capability-nfc | NFC 功能封装 | app |
| app | 业务代码和UI | 无(应用入口) |
文档版本: v1.0
最后更新: 2024年