Sobes.tech
Назад к вопросам
Junior — Middle
68

Каким образом реализовать внедрение зависимостей с помощью Dagger Hilt в Android-проекте?

Ответ от нейросети

sobes.tech AI

Dagger Hilt — это библиотека для внедрения зависимостей в Android, которая упрощает работу с Dagger. Чтобы использовать Hilt в проекте, нужно:

  1. Добавить зависимости в build.gradle:
// В корневом build.gradle
buildscript {
    dependencies {
        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.x'
    }
}

// В модуле app build.gradle
plugins {
    id 'kotlin-kapt'
    id 'dagger.hilt.android.plugin'
}

dependencies {
    implementation 'com.google.dagger:hilt-android:2.x'
    kapt 'com.google.dagger:hilt-android-compiler:2.x'
}
  1. Пометить класс Application аннотацией @HiltAndroidApp:
@HiltAndroidApp
class MyApplication : Application() {}
  1. Внедрять зависимости в компоненты (Activity, Fragment, ViewModel) с помощью аннотации @AndroidEntryPoint:
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
    @Inject lateinit var repository: MyRepository
    // ...
}
  1. Создавать модули с аннотацией @Module и @InstallIn для предоставления зависимостей:
@Module
@InstallIn(SingletonComponent::class)
object AppModule {
    @Provides
    fun provideRepository(): MyRepository {
        return MyRepositoryImpl()
    }
}

Таким образом, Hilt автоматически генерирует компоненты и управляет жизненным циклом зависимостей.