没有合适的资源?快使用搜索试试~ 我知道了~
Jetpack Compose 入门到精通.pdf
5星 · 超过95%的资源 需积分: 0 178 下载量 168 浏览量
2023-07-07
16:38:54
上传
评论 2
收藏 13.88MB PDF 举报
温馨提示
试读
120页
Jetpack Compose 入门到精通.pdf
资源推荐
资源详情
资源评论
Jetpack Compose 入门到精通
第一章 初识 Jetpack Compose
Jetpack Compose是用于构建原生Android UI的现代工具包。 Jetpack Compose使用更少的代码,强大的工具
和直观的Kotlin API,简化并加速了Android上的UI开发。这是Android Developers 官网对它的描述。
本文不是教你Jetpack Compose 的一些基本使用方法,而是为啥我们需要Jetpack Compose 的一些简洁,让我
们对Jetpack Compose 有更深层次的了解。如果你想看Jetpack Compose 的快速上手和基本使用,请看我前面的文
章
Android Jetpack Compose 最全上手指南
1.1 为什么我们需要一个新的UI 工具?
在Android中,UI工具包的历史可追溯到至少10年前。自那时以来,情况发生了很大变化,例如我们使用的设
备,用户的期望,以及开发人员对他们所使用的开发工具和语言的期望。
以上只是我们需要新UI工具的一个原因,另外一个重要的原因是 View.java 这个类实在是太大了,有太多的代
码,它大到你甚至无法在Githubs上查看该文件,因为它实际上包含了 30000 行代码,这很疯狂,而我们所使用的几
乎每一个Android UI 组件都需要继承于View。
GogleAndroid团队的Anna-Chiara表示,他们对已经实现的一些API感到遗憾,因为他们也无法在不破坏功能的
情况下收回、修复或扩展这些API,因此现在是一个崭新起点的好时机。
这就是为什么Jetpack Compose 让我们看到了曙光。
1.2 Jetpack Compose的着重点
包括一下几个方面:
1. 加速开发
1. 强大的UI工具
1. 直观的Kotlin API
1.2.1 加速开发
如果你是一个初级开发工程师,你总是希望有更多的时间来写业务逻辑,而不是花时间在一些如:动画、颜色变
化等事情上,看看下面这个View:
享学课堂
这个Material Edit-text 似乎看起来很简单,但是其实背后有许多东西需要关注,比如:动画、颜色改变、状态
管理等等。
而Jetpack Compose 为我们提供了很多开箱即用的Material 组件,如果的APP是使用的material设计的话,那么
使用Jetpack Compose 能让你节省不少精力。
1.2.2 强大的UI工具
没有正确工具的UI工具包是无用的,因此从过去10年的经验中能学到不少,Jetpack Compose 团队开始和
JetBrains 合作,以提供开发者强大的工具包,在Android Studio 上大规模的支持Compose 能力。
看一看在Android Studio上的表现:‘
上图是使用Jetpack Compose 开发UI时,在Android Studio 上的预览,你可以看到,在左边编码时,右边你能
同时展现UI即时预览,比如在明/暗模式下的状态切换,都能在右边及时展示出来。
它与我们现在使用的Android Studio 中的 text/Design 相似,但是它更加先进,使用很简单,这个功能只能在
Android Studio4.0以上预览版,开发compose 时使用。
享学课堂
1.2.3 直观的Kotlin API
对于开发者而言,Jetpack Compose 的用途不仅仅是Android UI,因此用Kotlin来编写他们并开源。当然,所有
Android代码都是开源的,但特别强调的是Compose代码,它每天在这里更新
(android.googlesource.com/platform/fr… )。因此,您可以查看和使用代码,同时也可以在此处提供反馈。
由于Compose仍在开发之中,因此每个开发人员的反馈都很重要。
1.3 API 设计
十多年来,Android团队在创建API和审查API方面拥有丰富的经验,但有一个收获-他们使用Java作为编程语言。
但有一个问题-他们使用的是Java作为开发语言。
Jetpack Compose是第一个使用Kotlin正在开发中的大型项目,因此Android团队正在探索Kotlin API指南的新世
界,以创建一组特定于Compose API的指南,该工作仍在进行中,仍然有很长的路要走。
享学课堂
1.4 Compose API 的原则
1.4.1 一切都是函数
正如我前面的文章所说,Compose是一个声明式UI系统,其中,我们用一组函数来声明UI,并且一个Compose
函数可以嵌套另一个Compose函数,并以树的结构来构造所需要的UI。
在Compose中,我们称该树为UI 图,当UI需要改变的时候会刷新此UI图,比如Compose函数中有 if 语句,那
么Kotlin编译器就需要注意了。
1.4.2 顶层函数(Top-level function)
在Compose的世界中,没有类的概念,全都是函数,并且都是顶层函数,因此不会有任何继承和层次机构问
题。
在此过程中,Compose函数始终根据接收到的输入生成相同的UI,因此,放弃类结构不会有任何害处。从类结
构构建UI过渡到顶层函数构建UI对开发者和Android 团队都是一个巨大的转变,顶层函数还在讨论之中,还没有发布
release 版。
1.4.3 组合优于继承
Jetpack Compose首选组合而不是继承。 Compose会基于其他部分构建UI,但不会继承行为。
如果你经常关注Android或者对Android有所了解,你就会知道,Android中的几乎所有组件都继承于View类
(直接或间接继承)。比如 EidtText 继承于 TextView ,而同时 TextView 又继承于其他一些View,这样的继承机构
最终会指向跟View即 View.java 。并且 View.java 又非常多的功能。
@Composable
fun checkbox ( ... )
@Composable
fun TextView ( ... )
@Composable
fun Edittext ( ... )
@Composable
fun Image ( ... )
复制代码
享学课堂
而Compose团队则将整个系统从继承转移到了顶层函数。 Textview , EditText , 复选框 和所有UI组件都是
它们自己的Compose函数,而它们构成了要创建UI的其他函数,代替了从另一个类继承。
享学课堂
剩余119页未读,继续阅读
资源评论
- 沃特hello2024-04-22还是免费的香
- My_songs2023-11-09还是免费的香.
Ocean_奋斗史
- 粉丝: 32
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功