Sobes.tech
Middle

Em que casos é utilizada a biblioteca Hilt para injeção de dependências no Android?

sobes.tech IA

Resposta da IA

O Hilt é utilizado para simplificar a injeção de dependências em aplicações Android, automatizando a criação de componentes Dagger e suas ligações.

Principais casos de uso:

  • Projetos grandes e médios: Facilita a gestão de um grande número de dependências.
  • Desenvolvimento ativo: Acelera a adição de novas dependências e refatorações.
  • Utilização de componentes padrão do Android: O Hilt fornece automaticamente dependências para Application, Activity, Fragment, View, Service, BroadcastReceiver.
  • Integração com Jetpack: Funciona bem com ViewModel, WorkManager e outras bibliotecas Jetpack.
  • Melhoria na testabilidade: Facilita a substituição de dependências reais por mocks ou stubs nos testes.

Exemplo de uso de @AndroidEntryPoint para uma atividade:

// MainActivity.kt
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {

    @Inject
    lateinit var myRepository: MyRepository

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // Uso da dependência injetada
        myRepository.doSomething()
    }
}

Exemplo de módulo para fornecer uma dependência:

// AppModule.kt
@Module
@InstallIn(SingletonComponent::class)
object AppModule {

    @Provides
    @Singleton
    fun provideMyRepository(): MyRepository {
        return MyRepository()
    }
}

Assim, o Hilt é útil quando é necessário padronizar e simplificar o processo de injeção de dependências em aplicações Android típicas, especialmente ao usar abordagens arquiteturais recomendadas.