2024最新版Android Studio使用Compose初体验

879 阅读2分钟

一、项目基础配置及结构

Android Studio版本

项目基本结构

二、说明

1、最新版Adnroid Studio创建项目已经默认使用compose模板来创建工程了,所以只需要直接创建项目即可

2、最新版Android Studio使用Gradle版本8.2,注意压缩包的下载,否则会一直卡在这里

image.png

3、最新版Android Studio已经不使用gradle来管理了, 默认使用gradle.kts来管理的

image.png

4、setting.gradle.kts

image.png

5、project下的build.gradle.kts,注意版本号,可能会下载的有点慢

image.png

6、app下的build.gradle.kts,只标注下跟以前的区别了

image.png

image.png

三、体验总结

当然常规的组件使用方法就不在这里写教程说该怎么用了,基本上百度都会有的,多看看多写写就都会熟练的,以下提出几个问题及总结:

1、compose中是否一定只能使用单Activity?使用多个Activity的作用在哪? 确实可以只使用单个Activity,其他页面都可以使用纯UI界面替换,使用navController来跳转,但as又不限制说像Flutter一样只能创建一个Activity,所以也无法确定使用多个Activity的作用。

2、使用NavHoset路由进行跳转时,composable(){Log.i()}执行多次问题? 跳转执行4次,返回执行2次,具体原因还有待分析

3、NavHost路由进行跳转时,composable(){LocalContext.current.startActivity}如此执行会跳转页面,返回之后又会自动跳转到该页面,反复执行多次原因?

这种路由方式是在网上看到的方法,原因还是想验证下使用多个activity进行跳转,所以在complsable()中使用startActivity去启动另一个Activity,可是还是会执行多次,而且返回后又会自动跳转回去,真是神奇。

4、Card居然没有让子元素居中的属性?

该问题也是不想直接写Button,又想要带点圆角属性,所以直接使用Card,以为内部用一个Text就行了,结果怎么写都无法让Text居中,后面不得以加了一个Box在外层才勉强实现效果,也无法确定这种设计的初衷在哪。

image.png

5、虽然有@Preview来进行预览,但是只要一有代码改动as就会自己编译,就很卡,这个设计就很奇葩。

以上就是第一次使用最新版as编写compose的简单体验,后续还会继续体验,敬请关注。