概述

Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。

Jetpack 包含与平台 API 解除捆绑的 androidx.* 软件包库。这意味着,它可以提供向后兼容性,且比 Android 平台的更新频率更高,以此确保您始终可以获取最新且最好的 Jetpack 组件版本。

Android Jetpack库的中组件的命名空间都在androidx中,它代替了原有的android.support库(android.support库目前已经不再维护,最后版本为28.0.0)

Jetpack分类

Jetpack主要分为四大类

  • 基础
  • 架构
  • 行为
  • 界面

每个分类下的具体内容如下图:

Jetpack Category

JetPack Category

JetPack Category

Jetpack使用

打开Android项目的build.gradle文件,添加google()仓库

1
2
3
4
5
6
allprojects {
    repositories {
        google() // 添加google()仓库
        jcenter()
    }
}

然后在app模块的build.gradle文件中添加需要使用的Jetpack组件即可,比如下面的例子添加的是LivedataViewModel

1
2
3
4
5
6
7
dependencies {
    def lifecycle_version = "2.2.0"

    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    ...
}

大部分jetpack库都提供了Android KTX extesnions扩展,比如lifecycle-livedata-ktxlifecycle-viewmodel-ktx,这些扩展在基于Java API的基础上,添加了Kotlin语法的特性。

Jetpack库查找

https://developer.android.com/jetpack/androidx/explorer可以获取到所有Jetpack中的库信息

使用Jetpack搭建App架构

利用Jetpackde架构组件,可以非常方便我们开发一个稳定且易扩展的App,官方推荐的应用架构如下图:

App architecture

PS:

在上面的Remote Data Source部分,可以添加数据缓存,让界面显示更友好,具体可以参考文档

Jetpack学习资源