ANDROIDX / COMPOSE / MATERIAL 3
AndroidX 模块全景
从本地 AndroidX 源码树和 libraryversions.toml 出发,建立整个文档站的模块地图与学习顺序。
这不是一组零散依赖
AndroidX checkout 顶层包含上百个目录。它们有的是对外发布的库族,有的是构建、测试、文档和集成工程;不能简单把每个文件夹都当成一个 Maven artifact。
本站先按开发任务把主要公开库分成八组。
| 任务 | 主要模块 | 当前源码版本示例 |
|---|---|---|
| 应用入口与状态 | Activity、Fragment、Lifecycle、SavedState | Activity 1.14.0-alpha01;Lifecycle 2.12.0-alpha01 |
| UI 与布局 | Compose、AppCompat、ConstraintLayout、RecyclerView | Compose 1.13.0-alpha01;RecyclerView 1.5.0-alpha01 |
| Material 与自适应 | Material3、Material3 Adaptive、Window | M3 1.5.0-alpha25;Adaptive 1.4.0-alpha01 |
| 导航 | Navigation、Navigation3、NavigationEvent | Navigation 2.10.0-beta01;Navigation3 1.2.0-alpha07 |
| 数据 | Room3、SQLite、DataStore、Paging | Room3 3.0.0-rc01;DataStore 1.3.0-alpha10 |
| 后台与启动 | Work、Startup、ProfileInstaller | Work 2.12.0-beta01 |
| 设备能力 | Camera、Biometric、Credentials、Health | Camera 1.7.0-alpha03;Credentials 1.7.0-alpha03 |
| 多形态设备 | Wear、TV、Glance、XR | Wear Compose 1.7.0-alpha07;XR Compose 1.0.0-alpha17 |
| Web 与外部内容 | Browser、WebKit、MediaRouter | Browser 1.11.0-alpha01;WebKit 1.17.0-rc01;MediaRouter 1.9.0-alpha01 |
| 文件与分享 | DocumentFile、Print、ShareTarget | DocumentFile 1.1.0-rc01;Print 1.1.0-rc01;ShareTarget 1.3.0-alpha01 |
| 基础工具 | Collection、Annotation、Concurrent | Collection 1.7.0-alpha01;Annotation 1.11.0-alpha01;Concurrent 1.0.0-alpha01 |
这些版本来自当前 checkout 的 libraryversions.toml,不是“现在 Maven 上最新稳定版”的断言。
推荐学习顺序
1. 应用最小骨架
Activity → Lifecycle → SavedState。先理解页面如何启动、状态如何随生命周期变化、进程重建后什么能恢复。
2. UI 与状态
Compose Runtime → UI/Foundation → Material3。Material 只是组件层,状态、布局、输入和语义来自更底层模块。
3. 多页面应用
Navigation 或 Navigation3 → ViewModel → SavedStateHandle。先选一套路由体系,不要在同一功能里混用两套 back stack。
4. 数据与后台任务
Room/SQLite 管结构化持久化,DataStore 管小型设置,Paging 管分页加载,WorkManager 管可延迟且需要保证执行的后台任务。它们解决的问题不同。
5. 设备能力
根据项目需要进入 Camera、Credentials、Biometric、Health、Wear、XR,而不是为了“学完整 AndroidX”逐个背 API。
文档扩展规则
每个模块都会采用统一结构:
- 它解决什么问题,以及不解决什么。
- 当前源码版本和 artifact 边界。
- 最小数据流,而不是最大 Demo。
- public API 到真实实现的调用链。
- 官方 sample 和可运行验证边界。
- 从旧方案迁移时的兼容性风险。
当前完成状态
- Material 3 Expressive:已建立完整分类页面。
- 应用基础层:Activity、Lifecycle、SavedState 已建立首批源码指南。
- View 体系:Core、AppCompat、RecyclerView、ConstraintLayout 已建立首批源码指南。
- Compose 底层:Runtime、UI、Foundation 已建立首批源码指南。
- 多页面应用层:Fragment、Navigation 2、Navigation 3 已建立首批源码指南。
- 数据层:Room3、SQLite、DataStore、Paging 已建立首批源码指南。
- 后台与启动:WorkManager、App Startup、ProfileInstaller 已建立首批源码指南。
- 设备能力:CameraX、Credential Manager、Biometric、Health Connect 已建立首批源码指南。
- 自适应布局:Window、Material 3 Adaptive、Navigation Suite 已建立首批源码指南。
- 多形态设备:Wear、TV、Glance AppWidget、XR Compose 已建立首批源码指南。
- 测试与性能:Compose UI Test、UI Automator、Benchmark、Macrobenchmark、Baseline Profile 已建立首批指南。
- Web 与外部内容:Browser、WebKit、MediaRouter 已建立首批源码指南;Media3 当前 checkout 未包含,未撰写。
- 文件与分享:DocumentFile、Print、ShareTarget 已建立首批源码指南。
- 基础工具:Collection、Annotation、Concurrent 已建立首批源码指南。
- 其余 AndroidX 模块:已建立全景和优先级,内容将按上述顺序进入站点。
“完整”不意味着把所有 public 方法复制一遍;目标是让读者能判断用哪个库、理解数据流、找到源码入口,并独立完成实际功能。
源码依据
- 顶层模块:
C:\Users\35425\Downloads\androidx目录结构 - 版本快照:
libraryversions.toml:1-190 - 各库 artifact:后续以模块内
build.gradle与 API dump 逐项确认