Jetpack Compose A2UI 算繪器定義了分層架構,可讓您選擇合適的層級進行建構。除了語意分層之外,明確的命名架構也能傳達 API 用意,並控管顯示範圍,避免不必要的內部型別汙染類路徑。
API 會根據用途和可見度,分為兩大類:
- 應用程式和元件開發人員適用的 API:供直接使用的公開 API 具有簡潔的名稱,並加上
A2ui前置字串 (或設計系統和測試前置字串,例如MaterialA2ui和A2uiTest)。範例包括A2uiCatalog、A2uiComponent和A2uiException。 - UI 架構整合人員適用的 API:程式庫會使用這些 API,在核心資料層和 UI 架構之間建立橋接器,這些 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 |
代表 UI 介面的唯讀介面 |
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 |