用JetPack构建Android应用
#kotlin #android #jetpackcompose #womenintech

JetPack Compose是一种用于构建本机Android UIS的现代工具包。使用JetPack组成,您可以使用声明性编程模型来构建美丽,响应且灵活的用户界面。在本文中,我将指导您使用JetPack Compose构建简单的Android应用程序的过程。

先决条件:

  1. Android Studio Arctic Fox或以后。
  2. Kotlin 1.5或更高版本

要开始使用JetPack Compose,让我们使用“空成分活动”模板创建一个新的Android Studio项目。 “空构图活动”模板将创建一个具有必要依赖项的项目和一个基本的合成功能,显示“ Hello,Android!”消息。

合并功能
组合功能是JetPack组成UI的构建块。可组合功能是返回UI元素的Kotlin函数。 @composable注释会注释组合功能。

以下是显示文本消息的可组合函数的示例:

Image description

在此示例中, engreing 函数采用 name 参数,并返回显示出口消息的 text ui元素。

如果您想更改此文本外观或在UI上显示的方式,则必须使用修饰符。

修饰符
修饰符用于更改可组合元素的外观或行为。修饰符是使用该元素上调用的函数。操作员。
这是使用修饰符来更改文本元素的外观的可组合函数的示例:

Image description

在此示例中,我使用修饰符在 text 元素和字体大小上添加填充以增加文本大小。
使UI更有条理的更好方法是使用布局。

布局
布局用于在屏幕上排列可综合的元素。 JetPack组合中有几种内置布局,例如列,行,框, ConstraintLayout
这是使用布局显示可组合元素的列表的示例。

Image description

布局用于垂直排列 text 元素。在每个元素之后添加A spacer 元素将其与另一个元素分开。

textfield
在JetPack Compose中,Textfield用于代替EditText。文字派有这样的参数,例如onvaluechange等。
值是Textfield中的预期输入
每当有新的输入到Textfield时,就会称呼valuechanged。

Image description

onvaluechanged lambda返回一个新值,您可以用来更新Textfield State。

状态
应用程序中的状态是任何可以随时间变化的值。这是一个非常广泛的定义,涵盖了从房间数据库到类的变量的所有内容。

Image description

状态用于存储和更新可组合元素的状态。状态是使用记住函数声明的,该功能创建了可以使用 setState 函数更新的 mutableState 对象。

比较kotlin上的recyclerview and List是JetPack组成
Recyclerview和JetPack Compose都是可用于在Android应用中显示列表的工具,但是它们使用不同的方法来实现此目的。

recyclerview
Recyclerview是Android中的UI组件,用于以列表或网格格式显示大型数据集。它是Android框架的一部分,并在Java中实施。它与适配器一起使用,该适配器提供了要显示的数据并处理视图的创建和结合。
要在Kotlin中使用RecyClerview,您将在布局XML文件中创建一个recyclerview,然后创建一个扩展RecyClerview.Adapter的适配器类。适配器类将定义要显示的数据并处理视图的创建和绑定。然后,您将在kotlin代码中的recyclerview上设置适配器。

JetPack组成
与传统的Android布局相比 在JetPack Compose中,您将创建一个可组合功能,该功能为您的列表定义UI,并使用LazyColumn或Lazyrow Layout显示列表。 Lazycolumn或Lazyrow布局根据需要创建和绑定视图,这使其比传统布局更有效。

让我们在我们的代码中实现它。
查看一个基本喷气背包组成的示例,用于显示列表:

Image description

在此示例中, mylist 函数是一个可复合函数,列出 string 项目的列表,并使用 lazycolumn 布局来显示列表。 项目函数用于迭代 data 列表,并为每个项目创建一个可合理元素。

比较
就易于使用和开发速度而言,与RecyClerview相比,JetPack组合更容易,更快。这是因为JetPack构成使用更简洁,更直观的语法,并且它可以自动处理视图的创建和结合。

在性能方面,与循环系统相比,JetPack组合也被认为更有效。 JetPack构成使用更有效的布局系统,该系统可根据需要创建和绑定视图,从而降低内存使用并改善性能。但是,JetPack组成的性能可能取决于UI的复杂性和列表中的项目数。

找到here项目的链接