Android Jetpack
Jetpack 是一套库,旨在帮助开发者遵循最佳实践、减少样板代码,并编写在不同 Android 版本和设备上都能稳定运行的代码,从而让开发者能够专注于他们关心的代码。
Jetpack 库 探索所有库
* 常用库优先列出
activity * | 访问基于 Activity 构建的可组合 API。 |
appcompat * | 允许在旧版平台 API 上访问新 API(许多使用 Material Design)。 |
appsearch * | 为您的用户构建自定义应用内搜索功能。 |
camera * | 构建移动相机应用。 |
compose * | 使用可组合函数以编程方式定义您的 UI,这些函数描述其形状和数据依赖性。 |
databinding * | 使用声明式格式将布局中的 UI 组件绑定到应用中的数据源。 |
fragment * | 将您的应用划分为多个独立的屏幕,这些屏幕托管在 Activity 中。 |
hilt * | 扩展 Dagger Hilt 的功能,以实现 androidx 库中某些类的依赖注入。 |
lifecycle * | 构建生命周期感知组件,这些组件可以根据 activity 或 fragment 的当前生命周期状态调整行为。 |
Material Design 组件 * | 适用于 Android 的模块化、可自定义的 Material Design UI 组件。 |
navigation * | 构建和组织您的应用内 UI,处理深层链接,并在屏幕之间导航。 |
paging * | 分批加载数据,并在 RecyclerView 中呈现。 |
room * | 创建、存储和管理由 SQLite 数据库支持的持久数据。 |
test * | Android 中的测试。 |
work * | 调度和执行可延迟的、基于约束的后台任务。 |
ads | 获取广告 ID,无论是否使用 Play 服务。 |
annotation | 公开元数据,帮助工具和其他开发者理解您的应用代码。 |
appfunctions | 待办 |
arch.core | 其他架构依赖项的助手,包括可与 LiveData 一起使用的 JUnit 测试规则。 |
asynclayoutinflater | 异步膨胀布局以避免 UI 卡顿。 |
autofill | 通过扩展提示提高自动填充的准确性。 |
benchmark | 在 Android Studio 中准确衡量代码性能。 |
biometric | 使用生物识别或设备凭据进行身份验证,并执行加密操作。 |
bluetooth | 使用 Android 平台的蓝牙功能,支持向后兼容的 API。 |
browser | 在用户的默认浏览器中显示网页。 |
camera.featurecombinationquery | 待办 |
camera.media3 | 待办 |
camera.viewfinder | 用于相机的独立可组合视图和基于视图的取景器 |
car-app | 为 Android Auto 和 Android Automotive OS 构建模板化应用。 |
cardview | 实现带有圆角和阴影的 Material Design 卡片模式。 |
collection | 减少现有和新小集合的内存影响。 |
compose.animation | 在其 Jetpack Compose 应用中构建动画,以丰富用户体验。 |
compose.compiler | 使用 Kotlin 编译器插件转换 @Composable 函数并启用优化。 |
compose.foundation | 使用现成的构建块编写 Jetpack Compose 应用,并扩展基础以构建您自己的设计系统组件。 |
compose.material | 使用现成的 Material Design 组件构建 Jetpack Compose UI。这是 Compose 的高级入口点,旨在提供与 www.material.io 所述组件匹配的组件。 |
compose.material3 | 使用 Material Design 3 组件构建 Jetpack Compose UI,Material Design 的下一代演进。Material 3 包含更新的主题和组件以及 Material You 个性化功能,如动态颜色,旨在与新的 Android 12 视觉样式和系统 UI 保持一致。 |
compose.material3.adaptive | 使用 Material 3 自适应库创建自适应 UI,这些 UI 将根据当前的窗口配置(如窗口大小类别或设备姿态)自动调整。该库提供默认的脚手架实现和必要的构建块可组合项,以创建您自己的自定义体验。 |
compose.runtime | Compose 编程模型和状态管理的基本构建块,以及 Compose 编译器插件的核心运行时目标。 |
compose.ui | Compose UI 的基本组件,用于与设备交互,包括布局、绘图和输入。 |
concurrent | 使用协程将任务移出主线程,并利用 ListenableFuture。 |
constraintlayout | 使用相对定位以灵活的方式定位和调整微件大小。 |
contentpager | 在后台线程中加载和分页 ContentProvider 数据。 |
coordinatorlayout | 定位顶级应用微件,例如 AppBarLayout 和 FloatingActionButton。 |
core | 支持旧设备的同时,适配最新的平台功能和 API。 |
core.uwb | 在支持的设备上实现 UWB(超宽带)。 |
credentials | 此库提供对用户凭据的统一访问。这可能包括密码、通行密钥和联邦凭据。应使用此库提供无缝且安全的登录体验。 |
credentials.providerevents | 待办 |
credentials.registry | 为解决这些问题,我们正在添加一种新的注册机制,允许应用以保护隐私的方式提供数字凭据。从高层次来看,提供方应用会将所有候选数字凭据预先注册到凭据管理器;当凭据管理器收到应用请求特定数字凭据时,它将在沙盒中运行凭据匹配和用户选择器 UI。 |
cursoradapter | 将 Cursor 数据暴露给 ListView 微件。 |
customview | 实现自定义视图。 |
datastore | 异步、一致且事务性地存储数据,克服 SharedPreferences 的一些缺点 |
documentfile | 查看文件文档。 |
draganddrop | 接受来自其他应用或应用内的拖放数据,并显示一致的放置目标提示。 |
drawerlayout | 实现 Material Design 抽屉式微件。 |
dynamicanimation | 使用基于物理的动画 API 创建平滑动画。 |
emoji | 在当前和旧设备中显示表情符号。 |
emoji2 | 在当前和旧设备中显示表情符号。 |
enterprise | 创建企业级应用。 |
exifinterface | 读取和写入图像文件 EXIF 标签。 |
games | 在您的应用中原生使用 Android 游戏 SDK 来执行复杂的游戏任务,例如帧步调。 |
glance | 使用 Jetpack Compose 风格的 API 为远程表面构建布局。 |
graphics | 在多个 Android 平台版本中利用图形功能 |
gridlayout | 实现网格布局。 |
health | 以平台无关的方式创建高性能健康应用。 |
health.connect | 允许开发者读取或写入用户的健康和健身记录。 |
heifwriter | 使用 Android 设备上可用的编解码器,以 HEIF 格式编码图像或图像集合。 |
ink | 启发一流的钢笔应用。降低开发者进入门槛,实现高性能、美观的书写体验。 |
input | 通过预测未来的 MotionEvents 来减少输入交互的延迟 |
interpolator | 在旧平台上使用动画插值器。 |
javascriptengine | 使您的 Android 应用能够评估 JavaScript。 |
jetifier | 一个独立工具,用于将库对已弃用的支持库的依赖项迁移到等效的 AndroidX 依赖项。 |
leanback | 请使用 Compose for TV 而非此工件。 |
legacy | 此工件及其类已弃用。从 Android 8 开始,后台检查限制使此类不再有用。 |
lint | Lint 检查以验证 Gradle API 的使用情况 |
loader | 为您的 UI 加载可在配置更改后保留的数据。 |
localbroadcastmanager | 此工件及其类已弃用。请改用 LiveData 或响应式流。 |
media | 与其他应用共享媒体内容和控制。已被 media3 取代。 |
media3 * | 媒体用例的支持库。 |
mediarouter | 使用通用用户界面在远程接收设备上启用媒体显示和播放。 |
multidex | 在 Android 5 之前的设备上部署包含多个 dex 文件的应用。 |
metrics | 跟踪和报告应用程序的各种运行时指标 |
navigation3 | Navigation 3 是一个旨在与 Compose 配合使用的新导航库。 |
navigationevent | Navigation Event 库提供了一个 KMP 优先的 API,用于处理系统返回以及 [预测性返回](/guide/navigation/custom-back/predictive-back-gesture)。 |
palette | 从图像中提取代表性调色板。 |
一个用于在应用内部添加 PDF 查看功能的库。 | |
percentlayout | 此工件及其类已弃用。请改用 ConstraintLayout 和相关布局。 |
performance | 提供用于性能优化的源注解。 |
photopicker | 此库为 Compose 和 Android Views 提供了嵌入式照片选择器的集成。 |
preference | 构建交互式设置屏幕,无需与设备存储交互或管理 UI。 |
从您的应用打印照片、文档以及其他图形和图像。 | |
privacysandbox.activity | 待办 |
privacysandbox.ads | 此库实现了与隐私保护 API 的集成,这些 API 是 Android 隐私沙盒的一部分。 |
privacysandbox.plugins | Android 隐私沙盒 SDK 库 Gradle 插件 |
privacysandbox.sdkruntime | 此库为 SdkRuntime 感知消费者提供组件 |
privacysandbox.tools | 一个用于利用 Android 中隐私沙盒功能的库 |
privacysandbox.ui | 待办 |
profileinstaller | 使库能够预先填充 ART 可读取的编译跟踪信息。 |
recommendation | 将内容推广到 Android TV 启动器主屏幕。 |
recyclerview | 在您的 UI 中显示大量数据,同时最大限度地减少内存使用。 |
remotecallback | 创建一个包装器,使开发者更容易提供 PendingIntent。 |
resourceinspection | 在 Android Studio 的实时布局检查器中显示自定义视图的属性。 |
savedstate | 编写可插拔组件,在进程终止时保存 UI 状态,并在进程重新启动时恢复。 |
security | 安全管理密钥并加密文件和 SharedPreferences。 |
sharetarget | 为使用快捷方式作为直接共享目标提供向后兼容性。 |
slice | 在应用外部显示模板化 UI 元素。 |
slidingpanelayout | 实现滑动窗格 UI 模式。 |
startup | 实现一种简单、高效的方式,在应用启动时初始化组件。 |
sqlite | 使用本地 SQLite 数据库。如果可能,请改用 Room。 |
swiperefreshlayout | 实现滑动刷新 UI 模式。 |
test.uiautomator | 跨应用功能 UI 测试框架 |
textclassifier | 识别文本中的对话、链接、选择以及其他类似结构。 |
tracing | 将跟踪事件写入系统跟踪缓冲区。 |
transition | 使用起始和结束布局在 UI 中实现动画效果。 |
tv | 为开发者提供 Compose 和 Material Design 功能,以便为 TV 编写应用 |
tvprovider | 提供 Android TV 频道。 |
xr.arcore | 利用感知能力将数字内容带入现实世界。 |
xr.compose | 声明式地构建利用 Android XR 空间能力的立体 UI 布局。 |
xr.compose.material3 | 使用 Material 组件和适用于 XR 的布局进行构建 |
xr.runtime | 使用我们的原生运行时启动您的自定义 AR 或 3D 会话。 |
xr.scenecore | 使用 3D 内容构建和操作 Android XR 场景图。 |
vectordrawable | 渲染矢量图形。 |
versionedparcelable | 提供一种稳定且紧凑的二进制序列化格式,可在进程间传递或安全地持久化。 |
viewpager | 以可滑动格式显示视图或片段。如果可能,请改用 viewpager2。 |
viewpager2 | 以可滑动格式显示视图或片段。 |
wear | 为 Google 智能手表上的 Wear OS 创建应用。 |
wear.compose | 通过提供支持不同设备尺寸和导航手势的功能,为 Wear OS 设备编写 Jetpack Compose 应用。 |
wear.protolayout | 此库允许定义一组 UI 布局和非 UI 表达式,以便在远程表面上渲染/评估。 |
wear.tiles | 为 Google 智能手表上的 Wear OS 创建应用。 |
wear.watchface | 为 Google 智能手表上的 Wear OS 创建应用。 |
webkit | 在 Android 5 及更高版本上使用现代 WebView API。 |
window | 有助于支持不同的设备外形,例如可折叠设备。 |
window.extensions.core | 窗口管理器库扩展的核心 API |
学习使用 Jetpack
基础培训
在“使用 Compose 的 Android 基础知识”课程中学习必要的 Jetpack 库,并减少应用中的样板代码
动手教程
动手使用简化数据层的三个 Jetpack 库:LiveData、ViewModel 和 Room
Sunflower 示例应用
探索最受欢迎的 Jetpack 库如何在生产级应用中协同使用