Android Jetpack Compose会成为后浪把 Android xml 布局文件拍在沙滩上吗(2)

上图是Google官网对于Compose的介绍图,熟悉Flutter的朋友,可能会觉得,这代码格式,似曾相识啊,但是也仅仅是因为都是声明式编程,格式上有稍微相似而已。

那么,Compose到底是什么?

Compose

=========================================================================

Google是这么定义的

Jetpack Compose 是用于构建原生 Android 界面的新工具包。它基于声明性编程模型,因此您只需描述界面的外观,Compose 会负责完成其余工作,界面会随着应用状态的变化而自动更新。由于它是基于 Kotlin 而构建的,因而可与 Java 编程语言完全互操作,并且可直接访问所有 Android API 和 Jetpack API。它与现有界面工具包兼容,因此您可以混合搭配使用经典视图和新视图,而且它从一开始就支持 Material 和动画。

几个关键


  • 原生Android界面的新工具包

定位是工具包,那代表了是Android原生开发的一部分,这也是其和Flutter最大的不同,Flutter能够夸N平台,而Compose只能用于原生开发。

  • 声明性编程,界面会自动更新

在声明性编程大行其道的今天,Android团队们似乎也发现了声明性编程是未来发展的趋势。

  • Kotlin开发

万变不离奇宗,开发语言还是Kotlin,变化的只是写UI的方式变了,以前使用xml布局,而Compose的出现,xml,可能就无了。

搞个例子瞅瞅

========================================================================

工欲善其事,必先利其器,还处在Beta阶段的Compose,自然是需要量身定制的开发工具了,放心,肯定还是Android studio,只不过,得换个版本

为Compose量身定制的Android Studio - Android Studio Arctic Fox

下载第一个就可以了。

创建一个Compose项目


在New Project中选择 Empty Compose Activity,就可以创建一个Compose项目了

创建完成之后,按照接触新东西的规矩,从Hello world开始,写第一个界面吧

Hello World

创建一个Hello world文本的代码十分简单,如下:

@Composable

fun ShowHelloWorld() {

Text(text = “Hello world”)

}

  • 上面的代码就被称为可组合项,和Compose的意思一致。特点是由@Compose注解进行修饰。一般,函数名的首字母大写

  • 函数体中由绘制UI的语句组成,此处创建了一个文本

将ShowHelloWorld放入setContentView中,run之后就可以显示在屏幕上了

Preview功能

在开发过程中,Compose提供了预览功能,需要再次创建一个可组合项,同时增加@Preview注解,如下:

@Preview

@Composable

fun Preview() {

ShowHelloWorld()

}

即可在右侧看到样式

![(https://upload-images.jianshu.io/upload_images/25222288-82b0ad4607d2dbed.image?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

但是,有一点想让人吐槽,每次修改代码后,都需要重新build refresh。

一些小技巧


  • 修改预览的背景色

对@Preview的参数进行设置,将背景色修改为绿色

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
oid开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值