• JetPack系列:001-JetPack概要介绍


    在这里插入图片描述

    本章回是一起Talk AndroidJetpack吧专栏的第一章回,本章回中主要介绍Jetpack的基本概念和编程思想,同时也会介绍它的基础知识。闲话休提,请我们一起Talk Android Jetpack吧

    1. 概念介绍

    Jetpack是Android新推出的库,该库包含框架和UI,目的在于加强框架设计,减去模板代码,提升开发效率。

    我们在一起Talk Android专栏中介绍过它里面的内容,比如ViewBinding,LiveData等。本专栏除了介绍这些库外还会介绍它新推出的UI库:Jetpack Compose,以及配合它们使用的Kotlin编程语言。

    2. 主要内容

    Jetpack是在Android原生内容的基础上提供了高效的库和UI,接下来我们分别介绍这两个方面的知识。

    2.1 框架库

    它把我们常用的内容封装成了库,比如Activity,Fragment.有了这些库后我们就可以更加方便地使用库中提供的功能,比如在项目中创建Activity时不再向之前一样继承AppCompatActivity,而是继承ComponentActivity,该类就是库中的内容,它包含ViewModel,Lifecycle等内容,有了这些内容可以方便我们管理页面中的数据,更好地管理页面的周期。

    Jetpack中其它的库,我们就不一一介绍了,大家可以参考文档。此外,这些库的兼容性非常强,支持Adnroid5以上的版本,可以说兼容了当前市场上99%以上的Android设备。

    2.2 UI界面库

    Jetpack中的UI界面通过compose库提供,它和以前UI界面中的View完全不同,而是使用可组合函数(Composable注释标记的函数),这些可组合函数可以相互嵌套使用,进而组成一个UI界面。虽然UI界面的载体仍然是Activity,但是界面中的布局和组件已经不再是xml文件以及各种View及其子View.有看官说没有xml文件后如何调整界面?官方提供了preview注解,在可组合函数前使用该注解后就可实时地预览界面中的UI,十分方便。

    这种UI界面通过状态来管理,把UI绑定到一个状态上,如果状态有变化了,框架会自动去更新UI。

    3. 核心思想

    Jetpack的核心思想就是提供统一的数据管理和界面管理方式,这样有助于代码解耦,减少冗余代码,提高程序性能。这种思想也叫声明式框架思想,最早在RN框架中使用,现在几乎所有移动平台都在使用这种声明式框架。下面是使用Jetpack编译的HelloWorld程序,请大家参考:

    class MainActivity : ComponentActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContent {
                CookbookTheme {
                    // A surface container using the 'background' color from the theme
                    Surface(
                        color = MaterialTheme.colorScheme.background
                    ) {
                        Text(text = "Hello World")
                    }
                }
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    上面的代码中使用Activity当作页面载体,页面中只有一个可组合函数Text,它和TextView组件的功能相同,通过该函数在页面上显示"Hello World".我在这里就不演示程序的运行结果了,建议大家自己动手去实践。

    4. 内容总结

    最后,我们对本章回的内容做一个归纳性的总结,详细如下:

    • Jetpack是一系列库的集合,这些库包含框架库和UI库;
    • 框架库用来提库数据和界面管理,比如LiveData,Activity;
    • UI库主要使用可组合函数来描述界面,通过状态来更新界面;
    • UI库的核心思想是声明式UI框架的思想;

    看官们,关于Jetpack的基本内容就介绍这些,欢迎大家在评论区交流与讨论!

  • 相关阅读:
    开设自己的网站系类01购买服务器
    基于 Appium 的 Android UI 自动化测试!
    HarmonyOS应用开发
    有效 TCP RST
    Unity引擎开发-无人机模拟飞行实现
    mysql(十)mysql主从复制--主库切换
    喜讯 | 同立海源CGT核心原料CD28单抗完成FDA DMF备案
    Android系统之SurfaceFlinger
    【高阶数据结构】图详解第三篇:最小生成树(Kruskal算法+Prim算法)
    深度相机安装+点云预处理
  • 原文地址:https://blog.csdn.net/talk_8/article/details/133661515