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" }