Junior — Middle
Bağımlılık enjeksiyonu bağlamında Hilt'in çalışma mekanizmasını açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Hilt — это библиотека для внедрения зависимостей в Android, построенная поверх Dagger. Она упрощает настройку DI, автоматически генерируя необходимый код.
Основной механизм работы Hilt:
- Аннотируете классы с помощью
@Injectдля указания зависимостей. - Используете аннотации
@Moduleи@Providesдля описания, как создавать объекты. - Аннотируете Android-компоненты (
Activity,Fragment,ViewModel) с помощью@AndroidEntryPointдля автоматического внедрения зависимостей. - Hilt генерирует компоненты и связывает зависимости во время компиляции.
Пример:
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject lateinit var repository: UserRepository
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// repository уже инициализирован Hilt
}
}
@Module
@InstallIn(SingletonComponent::class)
object AppModule {
@Provides
fun provideUserRepository(): UserRepository {
return UserRepositoryImpl()
}
}
Таким образом, Hilt автоматизирует создание и управление зависимостями, снижая шаблонный код и ошибки.