Google 会使用 AI 技术将内容翻译成您偏好的语言。AI 翻译可能包含错误。
架构分层和 API 命名
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Jetpack Compose A2UI 渲染器定义了一个分层架构,可让您选择合适的层进行构建。除了语义分层之外,清晰的命名方案还可以传达 API 意图并控制可见性,从而避免不必要的内部类型污染类路径。
API 根据使用情形和可见性分为两大类:
- 面向应用和组件开发者的 API:旨在直接使用的公共 API 具有简洁明了的名称,并带有
A2ui 前缀(或设计系统和测试前缀,例如 MaterialA2ui 和 A2uiTest)。示例包括 A2uiCatalog、A2uiComponent 和 A2uiException。
- 面向界面框架集成者的 API:用于桥接核心数据层和界面框架的库所使用的 API 具有以
A2uiCore 为前缀的描述性名称。这些 API 不适合直接应用引用,并且对标准应用代码保持隐藏状态。例如,A2uiCoreCatalog、A2uiCoreDataModel 和 A2uiCoreSurfaceModel。
由于核心数据层包含这两个类别中的类型,因此它分布在两个单独的制品中:androidx.a2ui:a2ui-model(面向应用开发者)和 androidx.a2ui:a2ui-engine(面向框架集成者)。此结构允许框架库依赖于 a2ui-engine 作为实现依赖项,从而防止 A2uiCore 类型污染公共应用类路径。
类别 1:应用开发者 API
下表列出了面向应用和组件开发者的公共 API。
androidx.a2ui:a2ui-model
| 类型 |
说明 |
A2uiSurfaceModel |
表示界面表面的只读接口 |
A2uiMessageProcessor |
用于处理传入消息的入口点类型 |
A2uiMessageParser |
协议消息的解析器接口 |
A2uiServerToClientMessage |
收到的消息载荷 |
A2uiSchema |
用于定义组件属性架构的类型 |
A2uiException |
跨层抛出和处理的异常 |
A2uiUserAction |
因用户互动而创建的操作载荷 |
A2uiClientToServerMessage |
所有出站消息载荷的基本类型 |
A2uiActionInterceptor |
数据层级用户操作拦截器 |
A2uiFunctionDefinition |
本地客户端函数的定义 |
A2uiDataPath |
JSON 指针路径表示法 |
androidx.a2ui.compose:compose-runtime
| 类型 |
说明 |
a2uiRuntimeMessageProcessor |
消息处理器的扩展构造函数 |
A2uiMessageParser |
消息解析器的扩展构造函数 |
A2uiComponentState |
表示响应式组件状态的接口 |
A2uiComponentModel |
成功解析的组件的数据模型 |
A2uiComponentProperties |
稳定属性容器优化了重组 |
A2uiProperty |
强类型化组件属性定义 |
A2uiComponentScope |
用于评估绑定和子组件的接收器范围 |
A2uiComponentReference |
用于解析嵌套子组件的指针 |
androidx.a2ui.compose:compose-ui
| 类型 |
说明 |
A2uiCatalog |
用于定义目录的接口和扩展构造函数 |
A2uiComponent |
用于定义 Compose 组件实现的接口 |
A2uiComponent(可组合) |
可组合函数,用于为组件发出界面 |
androidx.compose.material3:material3-a2ui
| 类型 |
说明 |
A2uiSurface |
用于渲染界面的可组合入口点 |
materialA2uiBasicCatalogV1 |
用于创建使用 Material 3 组件的基本目录实例的工厂函数 |
MaterialA2uiBasicCatalogV1Defaults |
基本目录的默认 Material 3 实现 |
androidx.a2ui.compose:compose-ui-testing
| 类型 |
说明 |
A2uiTestController |
用于编排测试作业的测试控制器 |
A2uiComponentStub |
存根或替换组件实现 |
A2uiTestSurface |
用于渲染测试界面的可组合函数 |
类别 2:框架集成器 API
下表列出了面向框架集成者的 API。
androidx.a2ui:a2ui-engine
| 类型 |
说明 |
A2uiCoreCatalog |
包含一组 A2uiCoreComponentDefinition 对象 |
A2uiCoreCatalogSerializer |
A2UI 目录的序列化程序 |
A2uiCoreComponentDefinition |
包含定义组件的元数据 |
A2uiCoreSurfaceModel |
实现 A2uiSurfaceModel,公开注册表 |
A2uiCoreSurfaceGroupModel |
实现 A2uiSurfaceGroupModel |
A2uiCoreMessageProcessor |
实现 A2uiMessageProcessor |
A2uiCoreDataModel |
响应式数据模型持有者 |
A2uiCoreComponentRegistry |
组件注册表 |
A2uiCoreValueResolver |
用于动态评估器的数据访问器 |
A2uiCoreSchemaValidator |
组件架构验证器 |
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-09-24。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2026-09-24。"],[],[]]