本文所有的信息来源于官网的数据 https://developer.android.google.cn/jetpack/
| 库 | 说明 |
| --- | --- |
| activity * | 访问基于 Activity 构建的可组合 API。 |
| ads | 获取广告 ID(无论是否通过 Play 服务)。 |
| annotation | 公开元数据,帮助工具开发者和其他开发者了解您的应用代码。 |
| appcompat * | 允许在平台旧版 API 上访问新 API(很多使用 Material Design)。 |
| arch.core | 其他架构依赖项的帮助程序,包括可与 LiveData 配合使用的 JUnit 测试规则。 |
| asynclayoutinflater | 异步膨胀布局以避免界面出现卡顿。 |
| autofill | 通过扩展提示提高自动填充的准确性。 |
| benchmark | 在 Android Studio 中准确评估代码的性能。 |
| biometric | 通过生物识别特征或设备凭据进行身份验证,以及执行加密操作。 |
| browser | 在用户的默认浏览器中显示网页。 |
| camera * | 构建移动相机应用。 |
| car | 为支持 Android 技术的汽车开发驾驶友好型应用。 |
| cardview | 用圆角和阴影实现 Material Design 卡片图案。 |
| collection | 降低较小的现有集合和新集合对内存的影响。 |
| compose | 使用描述界面形状和数据依赖项的可组合函数,以编程方式定义界面。 |
| compose.animation | 在 Jetpack Compose 应用中构建动画,丰富用户的体验。 |
| compose.foundation | 使用现成可用的构建块编写 Jetpack Compose 应用,还可扩展 Foundation 以构建您自己的设计系统元素。 |
| compose.material | 使用现成可用的 Material Design 组件构建 Jetpack Compose UI。这是 Compose 的更高级别的入口点,旨在提供与 www.material.io 上描述的组件一致的组件。 |
| compose.runtime | Compose 的编程模型和状态管理的基本构建块,以及 Compose 编译器插件针对的核心运行时。 |
| compose.ui | 与设备互动所需的 Compose UI 的基本组件,包括布局、绘图和输入。 |
| concurrent | 使用协程将任务移出主线程,并充分利用 ListenableFuture。 |
| constraintlayout | 使用相对定位灵活地确定微件的位置和大小。 |
| contentpager | 在后台线程中加载 ContentProvider 数据并进行分页。 |
| coordinatorlayout | 定位顶级应用微件,例如 AppBarLayout 和 FloatingActionButton。 |
| core | 针对最新的平台功能和 API 调整应用,同时还支持旧设备。 |
| cursoradapter | 向 ListView 微件提供光标数据。 |
| customview | 实现自定义视图。 |
| databinding * | 使用声明性格式将布局中的界面组件绑定到应用中的数据源。 |
| documentfile | 查看文件文档。 |
| drawerlayout | 实现 Material Design 抽屉式导航栏微件。 |
| dynamicanimation | 使用基于物理特性的动画 API 制作流畅的动画。 |
| emoji | 在当前设备和旧版本设备上显示表情符号。 |
| enterprise | 创建企业专用应用。 |
| exifinterface | 读取和写入图片文件 EXIF 标记。 |
| fragment * | 将您的应用细分为在一个 Activity 中托管的多个独立屏幕。 |
| gaming | 在您的应用中以原生方式使用 Android 游戏 SDK 来执行复杂的游戏任务,例如帧同步。 |
| gridlayout | 实现网格布局。 |
| heifwriter | 使用 Android 设备上可用的编解码器,以 HEIF 格式对图像或图像集进行编码。 |
| hilt | 扩展了 Dagger Hilt 的功能,以实现 androidx 库中某些类的依赖项注入。 |
| interpolator | 在旧版平台上使用动画插值器。 |
| jetifier | 一款独立工具,可将某个库中对已弃用支持库的依赖项迁移到等效的 AndroidX 依赖项。 |
| leanback | 使用适合 dpad 的微件和模板 Fragment 为 Android TV 设备编写应用。 |
| legacy | 此工件及其类已弃用。从 Android 8 开始,后台检查限制会使此类不再有用。 |
| lifecycle * | 构建生命周期感知型组件,这些组件可以根据 Activity 或 Fragment 的当前生命周期状态调整行为。 |
| loader | 加载配置更改后继续存在的界面数据。 |
| localbroadcastmanager | 此工件及其类已弃用。请改用 LiveData 或响应式流。 |
| media | 与其他应用共享媒体内容和控件。已被 media2 取代。 |
| media2 | 与其他应用共享媒体内容和控件。 |
| mediarouter | 利用通用界面实现在远程接收端设备上显示和播放媒体内容。 |
| multidex | 在搭载 Android 5 之前版本的设备上部署包含多个 dex 文件的应用。 |
| navigation * | 构建和组织应用内界面,处理深层链接以及在屏幕之间导航。 |
| paging * | 在页面中加载数据,并在 RecyclerView 中呈现。 |
| palette | 从图片中提取具有代表性的调色板。 |
| percentlayout | 此工件及其类已弃用。请改用 ConstraintLayout 和关联布局。 |
| preference | 无需与设备存储空间交互,也不需要管理界面,便能构建交互式设置画面。 |
| print | 通过您的应用打印照片、文档和其他图形及图片。 |
| recommendation | 将内容推广到 Android TV 启动器的主屏幕。 |
| recyclerview | 在您的界面中显示大量数据,同时最大限度减少内存用量。 |
| remotecallback | 创建一个封装容器,以便开发者更轻松地提供 PendingIntent。 |
| room * | 创建、存储和管理由 SQLite 数据库支持的持久性数据。 |
| savedstate | 编写可插入组件,这些组件会在进程终止时保存界面状态,并在进程重启时恢复界面状态。 |
| security | 安全地管理密钥并对文件和 sharedpreferences 进行加密。 |
| sharetarget | 提供向后兼容性,可以将快捷方式用作直接共享目标。 |
| slice | 在应用外显示模板化界面元素。 |
| slidingpanelayout | 实现滑动窗格界面模式。 |
| startup | 实现一种在应用启动时初始化组件的简单、高效方法。 |
| sqlite | 使用本地 SQLite 数据库。如果可能,请改用 Room。 |
| swiperefreshlayout | 实现下拉刷新的界面模式。 |
| test * | 在 Android 中进行测试。 |
| textclassifier | 识别文本中的对话、链接、选定内容和其他类似构造内容。 |
| tracing | 将跟踪事件写入系统跟踪缓冲区。 |
| transition | 使用开始和结束布局为界面中的动作添加动画效果。 |
| tvprovider | 提供 Android TV 频道。 |
| ui | 使用 Jetpack Compose 库。 |
| vectordrawable | 渲染矢量图形。 |
| versionedparcelable | 提供稳定且紧凑的二进制序列化格式,该格式可跨进程传递或安全保留。 |
| viewpager | 以可滑动的格式显示视图或 Fragment。如果可能,请改用 viewpager2。 |
| viewpager2 | 以可滑动的格式显示视图或 Fragment。 |
| wear | 打造适用于 Wear OS by Google 谷歌智能手表的应用。 |
| webkit | 在 Android 5 及更高版本上使用新式 WebView API。 |
| window | 帮助支持不同的设备类型,例如可折叠设备。 |
| work * | 调度和执行可延期且基于约束条件的后台任务。 |
这是截至8月27日 官网上看到的所有的 jetpack提供的功能
这里我将找几个比较常用的库 来学习 jetpack 是如何做到 如它所说的 Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。