Hilt

扩展了 Dagger Hilt 的功能,以实现 AndroidX 库中某些类的依赖项注入。

下表列出了 androidx.hilt 组中的所有工件。

工件 当前稳定版 下一候选版 Beta 版 Alpha 版
hilt 1.0.0 - - -
hilt-navigation-compose - - 1.0.0-beta01 -
此库的最后更新时间:2021 年 11 月 17 日

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库的改进有自己的见解,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

Hilt-Navigation-Compose 版本 1.0.0

版本 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-Compose 1.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 及更高版本兼容。

依赖项更新

版本 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 应用内的某个 Navigation 返回堆栈条目获取带有 @HiltViewModel 注解的 ViewModel。函数 hiltNavGraphViewModel() 可以接受一个 NavBackStackEntry 或一个“route”字符串,该字符串可用于将 ViewModel 作用域限定为当前的返回堆栈条目或堆栈中的父条目。(Ia9234)

版本 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 Hil 工件(尤其是 @androidx.hilt.ViewModelInject@androidx.hilt.Assisted)中移除了 @Deprecated 类型。请注意,@ViewModelInject 已替换为 @HiltViewModel。(I626fe)

版本 1.0.0-alpha03

2021 年 1 月 27 日

发布了 androidx.hilt:hilt-*:1.0.0-alpha03版本 1.0.0-alpha03 中包含这些提交内容

新功能

  • 提供 API 用于从 Navigation NavBackStackEntry 检索 @HiltViewModel 注释的 ViewModel。工件 hilt-navigation-fragment 提供 hiltNavGraphViewModels Kotlin 扩展,而 hilt-navigation 提供 HiltViewModelFactory 工厂方法,该方法将 NavBackStackEntry 作为参数并返回可与 ViewModelProvider 或其他 ViewModel 检索 API(例如 Compose 的 viewModel() 函数:viewModel(HiltViewModelFactory(AmbientContext.current, backStackEntry)))搭配使用的 ViewModelProvider.Facctory。(I00e67)

API 变更

  • @WorkerInject 替换为 @HiltWorker@HiltWorker 现在是类型注解,需要在构造函数中使用 @AssistedInject。(Ic2f15)
  • 弃用了 @ViewModelInject。等效功能现在由 @HiltViewModel 提供,后者现在是核心 Hilt Android API 的一部分。(I36a41)

问题修复

  • 修复了 Hilt 无法正确获取 AndroidX Hilt 扩展模块导致无法创建 Worker 的问题。(I3181cb/159540434
  • 将 AndroidX Hilt 扩展迁移到 SingletonComponent,移除了使用 ApplicationCompoonent 时显示的弃用警告。(I9c916b/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 库中某些类的依赖项注入。