简介
Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码。
Hilt是Google推出的一种依赖注入框架,它能够大大简化Android应用程序的开发过程。使用Hilt可以提供以下优势:
- Hilt 通过为项目中的每个 Android 类提供容器并自动管理其生命周期
-
简化依赖注入过程。使用Hilt可以将大量冗杂的依赖注入代码转移到注解中,从而使得代码更加简洁易懂。
-
易于测试。使用Hilt可以更容易地进行单元测试和集成测试,从而提高应用程序的质量和稳定性。
-
提高可维护性。Hilt使用标准注解和标准分层架构,这意味着应用程序的代码结构更加清晰和易于维护。
-
支持多种依赖注入场景。Hilt支持Android中的多种依赖注入场景,包括Activity、Fragment、View等。
为什么要使用:
拿MVVM框架来说,Activity/Fragment 依赖于 ViewModel,而 ViewModel 依赖于 Repository。在安卓的 MVVM架构里,依赖注入的意思就是把 ViewModel 的实例(instance)注入到 Activity/Fragment 类中,同样的道理,Repository 的实例注入到 ViewModel 类中。以此类推,Model 和 RemoteDataSource 的实例也需要注入到 Repository 类中。
实际上,我们通常做的,就是在 Activity/Fragment 里面直接 new 一个 ViewModel。看起来很方便,但实际上,这是不是和上面的耦合例子非常类似?如果我们只有一个 Activity/Fragment 和一个依赖的 ViewModel,那没什么问题,但如果关系复杂了,依赖注入的优势就很明显了。
添加依赖项
首先,将 hilt-android-gradle-plugin
插件添加到项目的根级 build.gradle
文件中:
plugins {
...
id("com.google.dagger.hilt.android") version "2.44" apply false
}
然后,应用 Gradle 插件并在 app/build.gradle
文件中添加以下依赖项:
plugins {
id("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
}
Hilt 应用类
@HiltAndroidApp
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
// ...
}
}
@Singleton
class MyDependency @Inject constructor() {
fun say(){
Log.e("TAG","输出内容-》")
}
}
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
myDependency.say() // 因为MyDependency类使用了依赖注入,所有不需要进行实例就能调用say方法
}
}
谷歌文档:使用 Hilt 实现依赖项注入 | Android 开发者 | Android Developers (google.cn)
demo下载地址:https://download.csdn.net/download/wy313622821/87905521文章来源:https://www.toymoban.com/news/detail-494276.html
总之,使用Hilt能够提高Android应用程序的开发效率、可维护性和代码质量,是一种非常值得尝试的技术。文章来源地址https://www.toymoban.com/news/detail-494276.html
到了这里,关于android——Hilt 实现依赖项注入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!