首页/新闻资讯/正文详情

如何完成 View 应用到 Jetpack Compose 的迁移:sunflower 完整拆解

发布时间:2026/11/14 18:42:07 来源:云帆数科 栏目:资讯中心
如何完成 View 应用到 Jetpack Compose 的迁移:sunflower 完整拆解
如何完成 View 应用到 Jetpack Compose 的迁移sunflower 完整拆解【免费下载链接】sunflowerA gardening app illustrating Android development best practices with migrating a View-based app to Jetpack Compose.项目地址: https://gitcode.com/gh_mirrors/su/sunflower手头的 View 应用由 XML 和 Fragment 堆成想换 Compose 又怕推倒重来。sunflower 是一个园艺应用把 View 应用到 Jetpack Compose 的迁移拆成了可复现的路线照着走一遍就能套到自己的项目上。项目定位View 应用改写成 Compose 的完整路线sunflower 的定位写在 README 里一个园艺 App演示如何把 Material 2 的 View 应用迁到 Material 3 的 Compose。它的价值不在园艺功能而在迁移路径本身——Gallery、Garden、Home、PlantList、PlantDetail 五个页面逐个重写最后把 Fragment 导航整体换成 Navigation ComposeFragment 全部移除。注意它的改动范围数据层的 Room、Repository、WorkManager 基本不动只动 UI 层。对想迁移自家项目的团队来说这就是刀口大小的参考不用连数据库一起重做。 理解核心把界面当「报菜名」传统 View 像亲自下厨XML 先把每道菜的盘子摆好代码里 findViewById 再端菜上桌数据一变得手动找到对应控件去改。Compose 更像报菜名你只描述客人看到什么——列表数据是这几行界面就该长这样框架负责把画面重新画出来。每个屏幕就是一个 Kotlin 函数输入状态输出界面状态一变函数重跑一次。这个差别直接决定迁移顺序先搬单个页面再换导航而不是先推翻整套 XML 体系。 五步跑通迁移示例第 1 步拉代码先跑起来一条命令git clone https://gitcode.com/gh_mirrors/su/sunflower用 Android Studio 打开直接 Run。验证App 能进首页并显示植物列表数据来自本地 assets/plants.json不需要联网。第 2 步补一个 Unsplash key画廊页的图来自 Unsplash APIkey 要写进 gradle.properties放项目根目录或用户目录 ~/.gradle/gradle.properties 都行unsplash_access_keyyour Unsplash access key这一行就是全部配置。验证点进详情页再进画廊能加载出图片不配 key 时 App 也能运行只是进不了画廊别把这一点误判成迁移失败。第 3 步按迁移路线读文档先读 迁移路线文档整个迁移分三段定策略、逐屏迁移、换导航并删除 Fragment。验证你能对着文档说出五个页面的迁移顺序以及每段对应的完成状态。第 4 步挑一个页面看实现打开 Compose 界面源码garden、plantlist、plantdetail、gallery、home 五个子目录对应五个已迁移的屏幕。验证挑 plantlist 看列表界面全是 Composable 函数res/layout 下只剩 item_plant_description.xml 一个文件那是给后面要讲的 AndroidViewBinding 用的。第 5 步看导航怎么切换路由定义集中在 路由文件每个页面一段data object PlantDetail : Screen( route plantDetail/{plantId}, navArguments listOf(navArgument(plantId) { type NavType.StringType }) ) { fun createRoute(plantId: String) plantDetail/${plantId} }原来的 nav_graph XML 换成了这种字符串路由参数也声明在代码里。验证运行后从首页点进详情页、再进画廊plantId 和 plantName 两个参数都能正确带过去返回键行为不变。⚠️ 新旧写法对照顺便避开三个坑环节View 旧写法Compose 新写法布局XML 文件 findViewByIdComposable 函数数据刷新手动 setText 或监听回调状态变化触发重组页面跳转Fragment Navigation XML 图NavHost 路由字符串视觉风格Material 2Material 3三个容易踩的坑key 没配就怀疑代码坏了。症状是画廊进不去实际只差 gradle.properties 里那一行见第 2 步。HTML 文案变乱码。Compose 的 Text 渲染不了 HTML 标签植物介绍里的加粗会原样显示。项目在 植物详情页源码 里用 AndroidViewBinding 嵌了一个 TextView 解决这个 Composable 就叫 PlantDescription。页面没迁完先换导航。旧页面还依赖 Fragment 导航图时提前删 Fragment 会直接崩。迁移路线文档也把换导航放在最后一步五个页面全部迁完才动它。 三条进阶建议对比改动幅度checkout 仓库的 views 分支那是迁移前的 View 版本可逐文件 diff。每个新 Composable 顺手补 UI 测试androidTest 目录里 createComposeRule 的写法可以直接抄。冷启动别凭感觉用 macrobenchmark 模块现成的任务生成 Baseline Profile再看数据。想继续深入从仓库里的 docs/MigrationJourney.md 读起README 也说明了后续 Compose 写法以官方 compose-samples 示例集为准。【免费下载链接】sunflowerA gardening app illustrating Android development best practices with migrating a View-based app to Jetpack Compose.项目地址: https://gitcode.com/gh_mirrors/su/sunflower创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Mac内存不够跑大模型?flint-oQ8e从oQ2e到oQ8e的8个量化变体终极对比清单
Mac内存不够跑大模型?flint-oQ8e从oQ2e到oQ8e的8个量化变体终极对比清单

本地部署大模型模型量化代码模型 【免费下载链接】flint-oQ8e 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/flint-oQ8e 点击查看 免费下载 flint-oQ8e 是把 40B 参数的 Recursive Flint MoE 大模型,用 oMLX 的 oQ8e 算法量化后跑在 Mac… · 2026/11/15 15:45:36

本地部署开源零信任网络平台 NetBird 并实现外部访问
本地部署开源零信任网络平台 NetBird 并实现外部访问

本文面向需要在局域网内快速搭建零信任网络的开发者,完整演示了用 Docker 部署 NetBird 的全过程,并借助路由侠内网穿透把本地服务安全地暴露到外网。第一步,本地部署安装 NetBird1,本教程操作环境为 Linux Ubuntu 系统&#xff0… · 2026/11/15 17:32:55

Codex-X 海鸥3.0破甲:五步离线激活的多域技术操作员提示词
Codex-X 海鸥3.0破甲:五步离线激活的多域技术操作员提示词

Codex-X 海鸥3.0破甲:五步离线激活的多域技术操作员提示词 【免费下载链接】Codex-X OpenAI Codex 桌面端/CLI 的可视化管理工具,具有Provider/API 切换、会话同步、提示词注入、Skills/MCP 管理、TOML 配置可视化的跨平台工具。 项目地址: https://gi… · 2026/11/14 20:43:05

成都低压电工证复审在哪里?内部消息告诉你怎么转异地
成都低压电工证复审在哪里?内部消息告诉你怎么转异地

成都低压电工证复审在哪里?内部消息告诉你怎么转异地 之前考的证在外省能不能转过来?最近不少在外地考了低压电工证的朋友,都问到这个问题,特别是那些在成都工作的小伙伴。如果你也正在为低压电工证复审发愁,或者想把外地的证转到成都来,那你得听好了,… · 2026/11/15 17:32:41

聊城电工证政府补贴在哪考?学历不高也能轻松报考
聊城电工证政府补贴在哪考?学历不高也能轻松报考

聊城电工证政府补贴在哪考?学历不高也能轻松报考 学历不高怕报不上名?其实聊城市对电工证的报考要求并不高,关键是你得知道 在哪考… · 2026/11/15 17:32:41

福州汽车电工证怎么考保姆级教程:外省证怎么转过来
福州汽车电工证怎么考保姆级教程:外省证怎么转过来

福州汽车电工证怎么考保姆级教程:外省证怎么转过来 之前考的证在外省能不能转过来?这是很多在福州打工的电工朋友最关心的问题,尤其是那些从外地来福州发展的,手里拿着老家的特种作业证,却不知道在福州能不能用,更别说考试、复审、继续教育这些流程了。… · 2026/11/15 17:32:41

贺州电工证去哪年审的保姆级教程
贺州电工证去哪年审的保姆级教程

贺州电工证去哪年审的保姆级教程 你是不是也遇到过这种情况,想考电工证或者年审电工证,却不知道去哪报名,担心被中介坑?别急,今天这期保姆级教程,就是为你量身打造的,帮你一步步搞清楚贺州电工证去哪年审的,怎么避坑,怎么选靠谱机构,还有最新的政策… · 2026/11/15 17:32:41

泉州办电工证在哪里 怎么考才能拿到上岗必备证书
泉州办电工证在哪里 怎么考才能拿到上岗必备证书

泉州办电工证在哪里 怎么考才能拿到上岗必备证书 你是不是也担心学历不高报不上名?其实,很多人和你一样,学历不高但想通过电工证提升自己的就业机会,特别是像泉州这种制造业和建筑业发达的城市,电工证不仅是 上岗必备… · 2026/11/15 17:32:41

合肥市特种工培训费到底多少钱?郑州报考避坑指南
合肥市特种工培训费到底多少钱?郑州报考避坑指南

合肥市特种工培训费到底多少钱?郑州报考避坑指南 你是不是正为 急需特种作业证才能上岗找工作 而发愁?别急,先搞清楚 合肥市特种工培训费 到底怎么算,还有 郑州报考避坑指南 ,这几点弄明白了,证书到手只是时间问题。… · 2026/11/15 17:31:41

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 1:51:20

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 4:02:19

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 3:02:05

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码