文章目录
- 1. 概念介绍
- 2. 主要内容
- 2.1 框架库
- 2.2 UI界面库
- 3. 核心思想
- 4. 内容总结
本章回是一起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 themeSurface(color = MaterialTheme.colorScheme.background) {Text(text = "Hello World")}}}}
}
上面的代码中使用Activity当作页面载体,页面中只有一个可组合函数Text
,它和TextView
组件的功能相同,通过该函数在页面上显示"Hello World".我在这里就不演示程序的运行结果了,建议大家自己动手去实践。
4. 内容总结
最后,我们对本章回的内容做一个归纳性的总结,详细如下:
- Jetpack是一系列库的集合,这些库包含框架库和UI库;
- 框架库用来提库数据和界面管理,比如LiveData,Activity;
- UI库主要使用可组合函数来描述界面,通过状态来更新界面;
- UI库的核心思想是声明式UI框架的思想;
看官们,关于Jetpack的基本内容就介绍这些,欢迎大家在评论区交流与讨论!