当前位置: 首页 > news >正文

建设个人网站ip网站专业制作公司

建设个人网站ip,网站专业制作公司,工信部外国网站备案,做设计用哪个素材网站好前言 本篇旨在帮助小伙伴们了解和使用Compose中BOM相关的知识,在Compose的开发过程中更加便捷、统一的管理相关依赖信息。 BOM基础知识 Compose推出的BOM为物料清单的意思,BOM全称为Bill Of Materials,Compose推出BOM的意义旨在通过指定的…

前言

本篇旨在帮助小伙伴们了解和使用Compose中BOM相关的知识,在Compose的开发过程中更加便捷、统一的管理相关依赖信息。

BOM基础知识

Compose推出的BOM为物料清单的意思,BOM全称为Bill Of Materials,Compose推出BOM的意义旨在通过指定的BOM版本来管理所有Compose库版本,比如我们要添加compose.material3和compose.ui的依赖,在未使用BOM的前提下,我们需要找到对应的版本,然后再添加依赖;然而在使用BOM的情况下,我们可以不用再去查找依赖对应的版本,直接在dependencies{}中添加他们就行,下面我们来详细看看BOM的使用方法。

BOM最早在2022/10/24推出了第一个版本:androidx.compose.compose-bom-2022.10.00

截止目前已经推出了16个版本,最新版本为:androidx.compose.compose-bom-2023.10.00

很巧合第一个和目前的最新版本尾部都是10.00,哈哈😄

目前使用AS版本为: Android Studio Giraffe | 2022.3.1 Patch 1 ,不同版本可能表现不一致

使用ComposeBOM

目前我们使用AS创建一个Compose项目之后,在app/build.gradle中默认会添加BOM依赖,但是版本会比较陈旧

图中标红的就是添加BOM的方式,添加的是2023.03.00版本,目前BOM最新2023.10.00,在10月05日发布。

知晓了BOM的添加方式之后,我们再来看看下面关于Compose相关依赖是如何添加的,比如标红下方的compose.ui依赖是直接通过implementation("androidx.compose.ui:ui")添加,这一行并没有涉及到版本信息,却也能正常引入compose.ui相关依赖

上图就是引入的compose.ui相关依赖库,在没有声明具体版本的情况下,也可以通过BOM获取到对应的版本,compose.ui在指定的BOM版本都有对应的版本,此处BOM的2023.03.00对应ui库的1.4.0版本。文章的后面我会将所有BOM版本对应的Compose依赖版本映射关系列举出来,方便大家日后参照。

到这小伙伴们是不是有种疑问,如果我添加了BOM依赖,是不是不用再额外添加其它的Compose库,非也非也~即使你添加了BOM依赖,还是得显式的添加下其它你需要的依赖,只是在依赖信息中省略了版本号而已。如果添加BOM就将所有的Compose库都引入到工程中,那么会造成依赖浪费的情况。

BOM和显式添加版本号是否冲突

在上面我们了解去如何去使用BOM的知识,接下来我们再看看在添加了BOM的情况下,再显式的添加其它依赖并加上版本号的情况。详细看下面的代码示例:

implementation(platform("androidx.compose:compose-bom:2023.03.00"))
implementation("androidx.compose.ui:ui:1.5.3")

我们先引入2023.03.00的BOM版本,然后在显式的添加compose.ui:1.5.3的依赖库,这是大家想一下会造成何种结果呢?此版本BOM清单中ui库对应的版本应该是1.4.0,会不会将我们需要的1.5.3直接忽视采用BOM对应的版本呢?答案是否的,在这种情况下Gradle会采用我们显式声明的ui库版本号,这样我们就既可以统一的管理Compose的版本信息,又不用过度受BOM的版本限制。下面是上述代码的依赖情况:

UI相关依赖版本号都变成了1.5.3,其余的还是保持BOM映射的版本号。

BOM所有版本

  1. androidx.compose.compose-bom-2022.10.00
  2. androidx.compose.compose-bom-2022.11.00
  3. androidx.compose.compose-bom-2022.12.00
  4. androidx.compose.compose-bom-2023.01.00
  5. androidx.compose.compose-bom-2023.03.00
  6. androidx.compose.compose-bom-2023.04.00
  7. androidx.compose.compose-bom-2023.04.01
  8. androidx.compose.compose-bom-2023.05.00
  9. androidx.compose.compose-bom-2023.05.01
  10. androidx.compose.compose-bom-2023.06.00
  11. androidx.compose.compose-bom-2023.06.01
  12. androidx.compose.compose-bom-2023.08.00
  13. androidx.compose.compose-bom-2023.09.00
  14. androidx.compose.compose-bom-2023.09.01
  15. androidx.compose.compose-bom-2023.09.02
  16. androidx.compose.compose-bom-2023.10.00

BOM版本映射关系

库组版本 (2022.10.00)版本 (2022.11.00)版本 (2022.12.00)版本 (2023.01.00)版本 (2023.03.00)版本 (2023.04.00)版本 (2023.04.01)版本 (2023.05.00)版本 (2023.05.01)和 (2023.06.00)版本 (2023.06.01)版本 (2023.08.00)版本 (2023.09.00)版本 (2023.09.01)版本 (2023.09.02)版本 (2023.10.00)
androidx.compose.animation:animation1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.animation:animation-core1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.animation:animation-graphics1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.foundation:foundation1.3.01.3.11.3.11.3.11.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.foundation:foundation-layout1.3.01.3.11.3.11.3.11.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.material:material1.3.01.3.11.3.11.3.11.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.material:material-icons-core1.3.01.3.11.3.11.3.11.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.material:material-icons-extended1.3.01.3.11.3.11.3.11.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.material:material-ripple1.3.01.3.11.3.11.3.11.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.material3:material31.0.01.0.11.0.11.0.11.0.01.0.11.0.11.0.11.1.01.1.11.1.11.1.11.1.21.1.21.1.2
androidx.compose.material3:material3-window-size-class1.0.01.0.11.0.11.0.11.0.01.0.11.0.11.0.11.1.01.1.11.1.11.1.11.1.21.1.21.1.2
androidx.compose.runtime:runtime1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.runtime:runtime-livedata1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.runtime:runtime-rxjava21.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.runtime:runtime-rxjava31.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.runtime:runtime-saveable1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-geometry1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-graphics1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-test1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-test-junit41.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-test-manifest1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-text1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-text-google-fonts1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-tooling1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-tooling-data1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-tooling-preview1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-unit1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-util1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3
androidx.compose.ui:ui-viewbinding1.3.01.3.11.3.21.3.31.4.01.4.11.4.21.4.31.4.31.4.31.5.01.5.11.5.11.5.21.5.3

列举了BOM从第一个版本到目前最新版本的映射关系,后续BOM更新了我也会及时的将这张表格做响应的更新,希望小伙伴们喜欢哈~

写在最后

BOM在使用过程中还是比较容易上手的,也是极大程度上帮助开发者更轻松的管理Compose相关依赖信息,感兴趣的小伙伴们赶紧上手体验下吧~

Android 学习笔录

Android 性能优化篇:https://qr18.cn/FVlo89
Android Framework底层原理篇:https://qr18.cn/AQpN4J
Android 车载篇:https://qr18.cn/F05ZCM
Android 逆向安全学习笔记:https://qr18.cn/CQ5TcL
Android 音视频篇:https://qr18.cn/Ei3VPD
Jetpack全家桶篇(内含Compose):https://qr18.cn/A0gajp
OkHttp 源码解析笔记:https://qr18.cn/Cw0pBD
Kotlin 篇:https://qr18.cn/CdjtAF
Gradle 篇:https://qr18.cn/DzrmMB
Flutter 篇:https://qr18.cn/DIvKma
Android 八大知识体:https://qr18.cn/CyxarU
Android 核心笔记:https://qr21.cn/CaZQLo
Android 往年面试题锦:https://qr18.cn/CKV8OZ
2023年最新Android 面试题集:https://qr18.cn/CgxrRy
Android 车载开发岗位面试习题:https://qr18.cn/FTlyCJ
音视频面试题锦:https://qr18.cn/AcV6Ap

http://www.yayakq.cn/news/600926/

相关文章:

  • 如何通过建设网站赚钱电子商务网站开发是什么
  • vs2015网站开发实例网站建设如何创业
  • 阿里巴巴免费做国际网站建协官网
  • 网站域名已经解析但没有被百度等搜索引擎收录怎么办ai可以做网站吗
  • 建瓯市建设局网站自己建设网站平台步骤
  • 深圳网站设计公司在哪里泉州网络白名单
  • 怎样建网站?购物网站app
  • 怎么在百度建网站扬中网站推广报价
  • 网站中文域名怎么做有创意的设计作品
  • 做八闽最好的中学网站2018网站开发最流行的语言
  • 做网站站长先把作息和身体搞好wordpress pdf 打印
  • 不用dw怎么做网站软件开发项目文档怎么写
  • 做内容网站卖网站赚钱吗
  • 上海网站建设q.479185700棒文山州建设局信息网站
  • 做网站公司需要什么职位wordpress 图片拉伸
  • 基于jsp的网站开发的文献c在线编程网站
  • 做网站互联网公司有哪些小广告的胶怎么清理
  • 泉州建行 网站成都展示型网页制作公司
  • 网络空间安全培训机构泉州seo外包平台
  • 扬中网站哪家做得好贵州公司网站建设比选公示
  • 微擎可以做企业网站吗东营建设信息网(东营市住房和城乡
  • html5 微网站布局如何开发一款app软件
  • 提供建站服务的网络公司的比较网站建设 教学设计
  • 电子信息工程论坛seo培训讲师招聘
  • 便捷网站建设费用甜品网站网页设计代码
  • 建南沙做网站公司网站编程设计如何写备注
  • 优秀网页设计网站是企业微信小程序制作
  • 电子商务网站建设方案案例企业名录搜索软件终身免费
  • 使用angularjs的网站网站上二维码怎么做的
  • 免费网站奖励自己游戏网站关键词 查询