码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Android Jetpack Compose的基本介绍


    目录

    • 一、引言:Android Jetpack
      • 1.Jetpack是什么?
      • 2. 常用的Jetpack库
    • 二、Compose的基本概念
      • 1.什么是Jetpack Compose
      • 2.Compose的编程思想
    • 三、 Compose简单的案例: 一个倒计时效果
      • 1.构建一个Compose项目
      • 2.声明一个倒计时的UI
      • 3.利用线程使其动起来
      • 4.实现效果
    • 四、总结

    一、引言: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 函数不
  • 相关阅读:
    VUE之Vxe-table动态生成多级表头及后端返回数据的处理
    计算机导论实验——Linux基础入门
    视频如何转换成音频?音视频转换,4个方法
    SpringMVC基础入门及工作流程---全方面详细介绍
    (9)使用RESTful风格时开启静态资源的映射和请求方式转换的配置
    动态规划---不相交的线,最长公共子序列,最大子数组和
    【Linux】进程优先级|进程并发概念|在vim中批量化注释
    小厂一面
    【Zabbix】Zabbix学习笔记
    Java之List.steam().sorted(Comparator.comparing())排序异常解决方案
  • 原文地址:https://blog.csdn.net/fjnu_se/article/details/128163195
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号