恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗?

  • 首页
  • 资讯中心
  • /
  • Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗?

相关资讯

[软考架构师论文]论解释器架构风格的应用 2026/10/1 21:59:08
国产双周GLP-1博凡格鲁肽:从分子设计到临床数据解读 2026/10/1 21:59:08
智能家居品牌方全国包安装的交付组织架构:从资源调度到交付确定性系统 2026/10/1 21:59:08

最新资讯

Linux上下文切换深度解析:从进程上下文到中断上下文的性能真相
低功耗物联网硬件选材实战:从主控到传感器的选型与避坑
开源模拟赛车座舱全解析:4040铝型材DIY方案设计与实战避坑指南
海康萤石云接入全链路:accessToken、设备归属与直播播放
基于S7-200和组态王的游泳池水处理PLC控制系统设计
TFLite内存规划器深度解析:从原理到实战优化

今日推荐

企业AI转型实战指南:从场景选择到落地避坑的完整路线图
OpenRig:本地大模型服务编排的轻量级运行时框架
夸克网盘1TB免费扩容领取全攻略:新老用户实操流程与避坑指南

本周热门

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗?

发布时间:2026/10/1 22:04:08
Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗? Andorid Compose 的 A2UI 终于正式落地 AndroidX 了这个我们在 Flutter 已经聊过很多次了这次还是官方第一次通过 Compose Renderer 的形态落地到 Android。也就是 Android 原生也可以接收 A2UI 协议然后通过 Agent 描述交互界面再渲染成Native Compose Component同时执行 Agent 生成的逻辑代码。可能很多人说这玩意浪费 Token 又慢有什么用这个其实 Flutter 的时候就讲过了首先它一些 UI 可以根据用户数据提前在后端生成在使用之前就匹配好也可以 Cache真正用的时候直接就可以渲染出来就行其次还有 Client-Side Functions也就是逻辑也可以根据 UI 一起绑定动态生成类似于Catalog可以同时持有CatalogItem和ClientFunction生成 capabilities 时每个 function 会暴露name、description、parameters和returnType然后生成完整 Catalog Schema 时会把每个函数变成一个合法的FunctionCallschema。所以实际上在 A2UI 场景模型其实拥有的是一张“能力菜单”它知道有哪些函数知道函数需要什么参数也知道返回值是什么但真正的实现还是在 App 手里具体实现模型不关心它只关心需要组合成什么UI UI 需要加载什么逻辑。然后现在这套逻辑可以用在 Android Compose 上面了官方 Compose Renderer 已经有协议解析、Schema Validation、Surface State、Compose Runtime 和 Component Catalog。Agent 发来的结构化 UI 更新进入A2uiMessageProcessor对应 Surface 更新后Compose 只重组真正变化的组件而且它还支持反向事件所以用户操作原生 Button、Picker 后结果可以沿着 A2UI Client Event 回到 Agent。而这里 Jetpacker 源码里的核心初始化其实很简单初始化之后界面会直接消费这些activeSurfaces交给A2uiSurface渲染。private val messageProcessor A2uiMessageProcessor( catalogs listOf(bookingAssistantCatalog()) ) ​ val activeSurfaces messageProcessor.activeSurfaces不过目前的 Jetpacker 还没有做到完全的「ADK Agent 直接吐标准 A2UI Tree」目前看BookingAssistantViewModel.kt是通过 Cloud Run 后端 SSE 发来的是 ADK Event其中还夹着类似time_selection、seat_map、ticket_selection这样的业务语义然后 Android 的parseAndApplyEvent()再把它们转换成InteractiveOptionPicker、SeatSelectionPicker、BookingConfirmation之类的A2uiComponentPayload所以 A2UI 暂时只是解决了客户端的结构化 UI Runtime但 Jetpacker 这个 Sample 里Agent Runtime 与 A2UI 之间还存在一层业务 Adapter。然后就和之前聊的 Flutter A2UI 一样生成的权限会被 Component Catalog 卡得很死 App 开发者先定义一个 Component CatalogAgent 只能用这里声明过的 Component、Property 和 Client Function。Android 官方把 Catalog 叫做 formal contract比如你的 App 可以开放Text、Card、Button也可以像 Jetpacker 一样增加自己的SeatSelectionPicker、BookingStatus、BookingConfirmation然后 Agent 能决定“现在需要一个 SeatSelectionPicker标题是什么、座位选项是什么”。之后真正的 Compose 实现、主题、交互能力能说客户端提供而且 AndroidX 会在 Payload 进入 Compose UI Tree 前做 Schema Validation如果 Agent 幻觉出一个不存在的 Component会变成 Error State 并回报给 Agent。比如 Jetpacker 目前同时有两段航班、一个酒店、一个博物馆和一个餐厅Android 把这些行程发给 Cloud Run 上的 Python ADK Backend然后服务端的ItineraryOrchestratorAgent先按类型拆成 Flight、Hotel、Museum、Restaurant 几组然后塞进 ADK 的ParallelAgent每一组内部如果有多个项目还可以继续创建多个子 Agent 并行跑在这个过程里Agent 先生成一个起飞时间发送time_selection随后直接停在await session.pause_events[title].wait()Android 收到 SSE 后把这个状态变成 A2UI 的InteractiveOptionPicker然后用户在手机上点 Confirm客户端事件里带着具体agentId和选择结果回到/respond服务端把结果写进 Session再调用对应的session.pause_events[pause_key].set()再之后刚才被挂起的那个 Flight Agent 才继续执行下一步 Seat Selection酒店会停下来等待 Reservation Confirmation博物馆等待 Ticket Confirmation餐厅等待人数选择而其余没有被用户卡住的 Agent 会继续执行也就是用户可以在多个动态 A2UI 之间并行操作并行处理这种能力其实在 AI 手机场景上还是有些用的至少能可以同步处理多个事件然后通过可交互 UI 的方式来让用户决策不然每次都让用户看一堆文字的体验去试试不咋地所以 A2UI 也是 Tibo 说的场景之一也许未来代码根本不需要每次发版只需要根据场景动态生成就好了

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号