Hilt
此表列出了 androidx.hilt
组中的所有构件。
构件 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
hilt-common | 1.2.0 | - | - | - |
hilt-compiler | 1.2.0 | - | - | - |
hilt-work | 1.2.0 | - | - | - |
hilt-navigation | 1.2.0 | - | - | - |
hilt-navigation-compose | 1.2.0 | - | - | - |
hilt-navigation-fragment | 1.2.0 | - | - | - |
反馈
您的反馈有助于改进 Jetpack。如果您发现新的问题或有改进此库的想法,请告诉我们。在创建新问题之前,请查看此库中现有问题。您可以通过单击星号按钮为现有问题添加您的投票。
查看问题跟踪器文档以了解更多信息。
Hilt 1.2 版
1.2.0 版
2024 年 2 月 21 日
androidx.hilt:hilt-*:1.2.0
已发布。1.2.0 版包含这些提交。
自 1.1.0 版以来的重要更改
- 为
hiltViewModel()
和hiltNavGraphViewModels()
添加辅助注入支持。现在,这些函数采用额外的回调,您可以在其中使用传入的辅助工厂来创建辅助注入的ViewModel
。
1.2.0-rc01 版
2024 年 2 月 7 日
androidx.hilt:hilt-*:1.2.0-rc01
已发布。1.2.0-rc01 版包含这些提交。
1.2.0-beta01 版
2024 年 1 月 24 日
已发布 androidx.hilt:hilt-*:1.2.0-beta01
。1.2.0-beta01 版本包含以下提交。
1.2.0-alpha01 版本
2023 年 12 月 13 日
已发布 androidx.hilt:hilt-*:1.2.0-alpha01
。1.2.0-alpha01 版本包含以下提交。
API 变更
- 添加重载的
hiltViewModel()
和hiltNavGraphViewModels()
函数以支持辅助注入。(Ieb98d)
Hilt 1.1.0 版本
1.1.0 版本
2023 年 11 月 1 日
已发布 androidx.hilt:hilt-*:1.1.0
。1.1.0 版本包含以下提交。
自 1.0.0 版本以来的重大变更
- 为
androidx.hilt
添加 KSP 支持。 - 在
hiltViewModel()
中接受HasDefaultViewModelProviderFactory
。 hiltViewModel()
API 现在接受一个可选的键参数。
1.1.0-rc01 版本
2023 年 10 月 18 日
已发布 androidx.hilt:hilt-*:1.1.0-rc01
。1.1.0-rc01 版本包含以下提交。
1.1.0-beta01 版本
已发布 androidx.hilt:hilt-common:1.1.0-beta01
、androidx.hilt:hilt-compiler:1.1.0-beta01
、androidx.hilt:hilt-work:1.1.0-beta01
、androidx.hilt:hilt-navigation:1.1.0-beta01
、androidx.hilt:hilt-navigation-compose:1.1.0-beta01
和 androidx.hilt:hilt-navigation-fragment:1.1.0-beta01
。
1.1.0-alpha01 版本
2023 年 8 月 9 日
已发布 androidx.hilt:hilt-common:1.1.0-alpha01
、androidx.hilt:hilt-compiler:1.1.0-alpha01
和 androidx.hilt:hilt-work:1.1.0-alpha01
。1.1.0-alpha01 版本包含以下提交。
新功能
- 为
androidx.hilt
添加 KSP 支持。 请注意,这是为了准备 Hilt 的 KSP 支持。为了使用 androidx.hilt 的 KSP 版本,必须发布主要的 Hilt 支持。
Hilt-Navigation-Fragment 1.1.0 版本
1.1.0-alpha02 版本
2023 年 4 月 19 日
已发布 androidx.hilt:hilt-navigation-fragment:1.1.0-alpha02
。1.1.0-alpha02 版本包含以下提交。
API 变更
- 在
hiltViewModel()
中接受HasDefaultViewModelProviderFactory
(I10ab6、b/249548618、b/195190169)
错误修复
- 修复了
hiltNavGraphViewModel()
不注入SavedStateHandle
的问题。(3ef114、b/272099838)
Hilt-Navigation 1.1.0 版本
1.1.0-alpha02 版本
2023 年 4 月 19 日
已发布 androidx.hilt:hilt-navigation:1.1.0-alpha02
。1.1.0-alpha02 版本包含以下提交。
1.1.0-alpha01 版本
2022 年 12 月 7 日
已发布 androidx.hilt:hilt-navigation:1.1.0-alpha01
。1.1.0-alpha01 版本包含以下提交。
Hilt-Navigation-Compose 1.1.0 版本
1.1.0-alpha01 版本
2022 年 12 月 7 日
已发布 androidx.hilt:hilt-navigation-compose:1.1.0-alpha01
。1.1.0-alpha01 版本包含以下提交。
API 变更
hiltViewModel()
API 现在接受一个可选的键参数。这允许您使用不同的键获取相同ViewModel
类型多个实例。(I6ee47、b/245139957)
Hilt-Navigation-Compose 1.0.0 版本
1.0.0 版本
2022 年 1 月 26 日
已发布 androidx.hilt:hilt-navigation-compose:1.0.0
。1.0.0 版本包含以下提交。
1.0.0 版本的主要功能
androidx.hilt:hilt-navigation-compose
工件提供 API,允许用户使用 :navigation-compose
从 Compose 应用中的导航回退栈条目中获取标注为 @HiltViewModel
的 ViewModel。
hiltViewModel()
函数返回现有 ViewModel
或创建一个作用域为 NavController
回退栈中当前导航图的新 ViewModel
。该函数可以选择性地接受 NavBackStackEntry
,以将 ViewModel
的作用域限定为父回退栈条目。
1.0.0-rc01 版本
2021 年 12 月 15 日
已发布 androidx.hilt:hilt-navigation-compose:1.0.0-rc01
,自 1.0.0-beta01
以来没有更改。1.0.0-rc01 版本包含以下提交。
1.0.0-beta01 版本
2021 年 11 月 17 日
已发布 androidx.hilt:hilt-navigation-compose:1.0.0-beta01
。1.0.0-beta01 版本包含以下提交。
API 变更
- 移除已弃用的
hiltNavGraphViewModel()
函数及其重载。这些都已被hiltViewModel()
替换。(Iaf7d7)
1.0.0-alpha03 版本
2021 年 6 月 16 日
已发布 androidx.hilt:hilt-navigation-compose:1.0.0-alpha03
。1.0.0-alpha03 版本包含以下提交。
API 变更
hiltViewModel()
方法现在与 Lifecycle-ViewModel-Compose1.0.0-alpha07
中的viewModel()
API 变更保持一致,现在接受一个可选的ViewModelStoreOwner
参数,而不是只有一个不带参数的版本和一个只带NavBackStackEntry
的版本。这允许您继续使用hiltViewModel()
来访问LocalViewModelStoreOwner
提供的默认所有者,或者使用hiltViewModel(navBackStackEntry)
或其他ViewModelStoreOwner
来指定任何特定所有者。(I2628d)
1.0.0-alpha02 版本
2021 年 5 月 18 日
已发布 androidx.hilt:hilt-navigation-compose:1.0.0-alpha02
。1.0.0-alpha02 版本包含以下提交。
API 变更
- 将
hiltNavGraphViewModel()
重命名为hiltViewModel()
,并删除了对NavController
的扩展,因为用户可以直接使用navigation-compose
API 从路由获取NavBackStackEntry
。(I6ef57)
Compose 兼容性
androidx.hilt:hilt-navigation-compose:1.0.0-alpha02
只兼容 Compose 版本1.0.0-beta07
及更高版本。
依赖项更新
hilt-navigation-compose
现在依赖于 Navigation2.4.0-alpha01
。
1.0.0-alpha01 版本
2021 年 3 月 10 日
已发布 androidx.hilt:hilt-navigation-compose:1.0.0-alpha01
。1.0.0-alpha01 版本包含以下提交。
新功能
:hilt-navigation-compose
工件提供 API,允许用户使用:navigation-compose
从 Compose 应用中的导航回退栈条目中获取标注为@HiltViewModel
的ViewModel
。hiltNavGraphViewModel()
函数可以接受NavBackStackEntry
或路由字符串,用于将ViewModel
的作用域限定为当前回退栈条目或栈中的父条目。(Ia9234)
Hilt 1.1 版本
1.1.0-beta01 版本
2023 年 10 月 4 日
已发布 androidx.hilt:hilt-*:1.1.0-beta01
。1.1.0-beta01 版本包含以下提交。
已发布 androidx.hilt:hilt-*:1.1.0-beta01
,自 1.1.0-alpha*
以来没有更改。
Hilt 1.0.0 版本
1.0.0 版本
2021 年 5 月 5 日
已发布 androidx.hilt:hilt-*:1.0.0
。1.0.0 版本包含以下提交。
1.0.0 版本的主要功能
androidx.hilt
工件提供扩展,用于将 Hilt 与其他各种 AndroidX 库(如 WorkManager 和 Navigation)集成。要查看功能和示例列表,请查看 集成文档。
1.0.0-beta01 版本
2021 年 3 月 10 日
已发布 androidx.hilt:hilt-*:1.0.0-beta01
。1.0.0-beta01 版本包含以下提交。
API 变更
- 从 AndroidX Hilt 工件中删除了
@Deprecated
类型,特别是@androidx.hilt.ViewModelInject
和@androidx.hilt.Assisted
。请注意,@ViewModelInject
已被 @HiltViewModel 替换。(I626fe)
1.0.0-alpha03 版本
2021 年 1 月 27 日
已发布 androidx.hilt:hilt-*:1.0.0-alpha03
。1.0.0-alpha03 版本包含以下提交。
新功能
- 提供用于从导航
NavBackStackEntry
中检索标注了@HiltViewModel
的 ViewModel 的 API。工件hilt-navigation-fragment
提供了一个hiltNavGraphViewModels
Kotlin 扩展,而hilt-navigation
公开了HiltViewModelFactory
工厂方法,该方法接收NavBackStackEntry
作为参数,并返回一个ViewModelProvider.Facctory
,该工厂可与ViewModelProvider
或其他 ViewModel 获取 API(例如 Compose 的viewModel()
函数)一起使用:viewModel(HiltViewModelFactory(AmbientContext.current, backStackEntry))
。(I00e67)
API 变更
- 将
@WorkerInject
替换为@HiltWorker
。@HiltWorker
现在是一个类型注解,需要在构造函数中使用 @AssistedInject。(Ic2f15) - 弃用
@ViewModelInject
。现在由@HiltViewModel
提供等效的功能,它现在是核心 Hilt Android API 的一部分。(I36a41)
错误修复
- 修复了一个问题,该问题会导致 Hilt 无法正确拾取 AndroidX Hilt 扩展模块,从而导致无法创建 Worker。(I3181c,b/159540434)
- 将 AndroidX Hilt 扩展迁移到
SingletonComponent
,从而消除了使用ApplicationCompoonent
的弃用警告。(I9c916,b/175849092)
1.0.0-alpha02 版本
2020年7月22日
androidx.hilt:hilt-*:1.0.0-alpha02
已发布。1.0.0-alpha02 版本包含这些提交。
错误修复
- 修复了从标注了
@AndroidEntryPoint
的类请求非 Hilt 注入的 ViewModel 时出现重复保存状态键的问题。(b/158737069) - 修复了
HiltWorkerFactory
中的一个问题,该问题会导致它无法正确初始化标注了@WorkerInject
的嵌套 Worker 类。(b/160524718)
1.0.0-alpha01 版本
2020年6月10日
androidx.hilt:hilt-*:1.0.0-alpha01
已发布。1.0.0-alpha01 版本包含这些提交。
androidx.hilt
包和库扩展了 Dagger Hilt 的功能,以启用从 androidx 库注入某些类的依赖项。