• Android Jetpack Compose的基本介绍


    一、引言:Android Jetpack

    1.Jetpack是什么?

    Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。

    2. 常用的Jetpack库

    1. activity: 访问基于 activity 构建的可组合 API。
      链接: activity
    2. appcompat:允许在平台的旧版 API 上访问新 API(很多使用 Material Design)。
      链接: appcompat
    3. appsearch:为用户构建自定义应用内搜索功能。
      链接: appsearcht
    4. camera:构建移动相机应用。
      链接: camera
    5. compose:使用描述界面形状和数据依赖项的可组合函数,以编程方式定义界面。
      链接: compose

    二、Compose的基本概念

    1.什么是Jetpack Compose

    Jetpack Compose是用于构建原生Android UI的现代工具包。 Jetpack Compose使用更少的代码,强大的工具和直观的Kotlin API,简化并加速了Android上的UI开发。

    2.Compose的编程思想

    Jetpack Compose 是一个适用于 Android 的新式声明性界面工具包。Compose 提供声明性 API,让您可在不以命令方式改变前端视图的情况下呈现应用界面,从而使编写和维护应用界面变得更加容易。

    1. 声明性编程范式

    1.长期以来,Android 视图层次结构一直可以表示为界面 widget 树。由于应用的状态会因用户交互等因素而发生变化,因此界面层次结构需要进行更新以显示当前数据。最常见的界面更新方式是使用 findViewById() 等函数遍历树,并通过调用 button.setText(String)、container.addChild(View) 或 img.setImageBitmap(Bitmap) 等方法更改节点。这些方法会改变 widget 的内部状态。
    2.在过去的几年中,整个行业已开始转向声明性界面模型,该模型大大简化了与构建和更新界面关联的工程任务。该技术的工作原理是在概念上从头开始重新生成整个屏幕,然后仅执行必要的更改。此方法可避免手动更新有状态视图层次结构的复杂性。Compose 是一个声明性界面框架。
    3.重新生成整个屏幕所面临的一个难题是,在时间、计算能力和电池用量方面可能成本高昂。为了减少在这方面耗费的资源,Compose 会智能地选择在任何给定时间需要重新绘制界面的哪些部分。这会对您设计界面组件的方式有一定影响,如重组中所述。

    2. 简单的可组合函数

    使用 Compose,您可以通过定义一组接受数据而发出界面元素的可组合函数来构建界面。

    关于此函数,有几点值得注意

    • 此函数带有 @Composable 注释。所有可组合函数都必须带有此注释;此注释可告知 Compose 编译器:此函数旨在将数据转换为界面。
    • 此函数带有 @Composable 注释。所有可组合函数都必须带有此注释;此注释可告知 Compose 编译器:此函数旨在将数据转换为界面。
    • 此函数接受数据。可组合函数可以接受一些参数,这些参数可让应用逻辑描述界面。在本例中,我们的 widget 接受一个 String,因此它可以按名称问候用户。
    • 此函数可以在界面中显示文本。为此,它会调用 Text() 可组合函数,该函数实际上会创建文本界面元素。可组合函数通过调用其他可组合函数来发出界面层次结构。
    • 此函数不会返回任何内容。发出界面的 Compose 函数不
  • 相关阅读:
    [附源码]JAVA毕业设计健身房管理系统(系统+LW)
    分解人力资源管理的范围
    nodejs-处理http请求
    阿里云大数据实战记录1:不同模式建表及同步
    理解李彦宏的“不卷模型,卷应用”理念
    PostgreSQL位居第四,SQL Server表现差强人意,11月份数据库排行榜出炉
    3.2队列
    Python 基础语法
    Titanic 泰坦尼克号预测-Tensorflow 方法-【Kaggle 比赛】
    彻底了解什么是POE交换机!!!
  • 原文地址:https://blog.csdn.net/fjnu_se/article/details/128163195