美文网首页
Hilt - 更简洁的方式开发Android应用

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

作者: Cosecant | 来源:发表于2023-08-17 16:44 被阅读0次

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

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. 其他步骤:

相关文章

网友评论

      本文标题:Hilt - 更简洁的方式开发Android应用

      本文链接:https://www.haomeiwen.com/subject/nghrmdtx.html