美文网首页
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