Skip to content

Jetpack 概览

源:Android Jetpack 官方文档

Android Jetpack 是一套库、工具和指南,旨在帮助开发者更轻松地构建出色的 Android 应用。它由 Google 官方提供,旨在通过减少样板代码、简化复杂任务以及提供跨版本的一致性,让开发者专注于编写业务逻辑。

为什么选择 Jetpack?

核心价值

  • 遵循最佳实践: Jetpack 组件基于现代 Android 开发标准构建,内置处理生命周期、后台任务等复杂逻辑。
  • 消除样板代码: 自动处理繁琐的重复任务(如数据库操作、视图绑定),让代码更简洁。
  • 减少崩溃和内存泄漏: 深度集成 Lifecycle 系统,自动管理资源释放。
  • 向后兼容性: 封装了 Support Library 的精髓,确保功能在旧版本 Android 上也能稳定运行。

组件分类

虽然 Jetpack 包含数十个库,但我们可以根据其功能将其划分为四大支柱:

1. 核心架构 (Architecture)

帮助您设计稳健、可测试且易于维护的应用。

  • Lifecycle: 监听生命周期状态。
  • ViewModel: 以感知生命周期的方式存储界面数据。
  • Room: 流畅地访问 SQLite 数据库。
  • WorkManager: 管理后台任务。
  • Navigation: 处理应用内页面跳转。

2. 界面表现 (UI)

提供让应用看起来不仅漂亮,而且易于使用的工具。

  • Compose: 用于构建原生界面的现代声明式工具包。
  • Fragment: 模块化的界面容器。
  • Emoji2: 让旧设备也能显示最新表情。

3. 基础能力 (Foundation)

提供跨平台支持、Kotlin 扩展以及测试框架。

  • AppCompat: 允许应用在旧版 Android 上运行新版功能。
  • KTX: 利用 Kotlin 特性编写更简洁的代码。
  • Test: 用于单元测试和 UI 测试的 Android 测试框架。

4. 行为与功能 (Behavior)

集成系统级功能,如媒体播放、权限和通知。

  • CameraX: 简化相机开发。
  • Media3: 统一的媒体播放与控制 API。
  • Biometric: 标准化的生物识别验证。

开始使用

1. 配置仓库

确保在项目根目录的 settings.gradle.kts 中配置了 Google Maven 仓库:

kotlin
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
    }
}

2. 引入组件

您可以根据需要引入特定的库。

kotlin
dependencies {
    // 以引入 ViewModel 和 LiveData 为例
    val lifecycle_version = "2.8.0"
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
    implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
}
toml
[versions]
androidx-lifecycle = "2.8.0"

[libraries]
androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }

进阶参考