Hilt - 更简洁的方式开发Android应用

注:这里只是做一个简单的记录,方便以后查找如何引入。

Hilt简介

Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码。执行手动依赖项注入要求您手动构造每个类及其依赖项,并借助容器重复使用和管理依赖项。

Hilt 通过为项目中的每个 Android 类提供容器并自动管理其生命周期,提供了一种在应用中使用 DI(依赖项注入)的标准方法。Hilt 在热门 DI 库 Dagger 的基础上构建而成,因而能够受益于 Dagger 的编译时正确性、运行时性能、可伸缩性和 Android Studio 支持

Hilt与Dagger的关系

Hilt 在依赖项注入库 Dagger 的基础上构建而成,提供了一种将 Dagger 纳入 Android 应用的标准方法。

关于 Dagger,Hilt 的目标如下:

  • 简化 Android 应用的 Dagger 相关基础架构。
  • 创建一组标准的组件和作用域,以简化设置、提高可读性以及在应用之间共享代码。
  • 提供一种简单的方法来为各种 build 类型(如测试、调试或发布)配置不同的绑定。

由于 Android 操作系统会实例化它自己的许多框架类,因此在 Android 应用中使用 Dagger 要求您编写大量的样板。Hilt 可减少在 Android 应用中使用 Dagger 所涉及的样板代码。Hilt 会自动生成并提供以下各项:

  • 用于将 Android 框架类与 Dagger 集成的组件 - 您不必手动创建。
  • 作用域注解 - 与 Hilt 自动生成的组件一起使用。
  • 预定义的绑定 - 表示 Android 类,如 ApplicationActivity
  • 预定义的限定符 - 表示 @ApplicationContext@ActivityContext

Dagger 和 Hilt 代码可以共存于同一代码库中。不过,在大多数情况下,最好使用 Hilt 管理您在 Android 上对 Dagger 的所有使用。

如何使用Hilt?

  1. 项目根目录build.gradle.kts添加支持:
    plugins {
         ...
         id("com.google.dagger.hilt.android") version "2.44" apply false
    }
    
  2. 应用模块build.gradle.kts添加支持,如下:
    plugins {
      kotlin("kapt")
      id("com.google.dagger.hilt.android")
    }
    android {
      ...
    }
    dependencies {
      implementation("com.google.dagger:hilt-android:2.44")
      kapt("com.google.dagger:hilt-android-compiler:2.44")
    }
    // Allow references to generated code
    kapt {
      correctErrorTypes = true
    }
    
  3. 其他步骤:
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容