Como implementar o Hilt com Firebase no Android
Hilt é uma estrutura de injeção de dependência para Android que fornece uma maneira padrão de gerenciar as dependências em seu aplicativo. O Firebase é uma plataforma de back-end como serviço (BaaS) que fornece uma variedade de serviços para aplicativos móveis e da web. Neste blog, veremos como implementar o Hilt com Firebase em um aplicativo Android.
Etapa 1: adicionar dependências Hilt e Firebase ao seu projeto
Primeiro, adicione a dependência do Hilt ao arquivo build.gradle no nível do aplicativo. A versão mais recente do Hilt no momento da escrita é 2.28-alpha:
implementation 'com.google.dagger:hilt-android:2.28-alpha'
annotationProcessor 'com.google.dagger:hilt-android-compiler:2.28-alpha'
implementation 'com.google.firebase:firebase-core:20.2.0'
implementation 'com.google.firebase:firebase-auth:20.2.0'
implementation 'com.google.firebase:firebase-firestore:21.5.0'
Crie uma classe Application e anote-a com @HiltAndroidApp. Essa classe serve como ponto de entrada para o Hilt e é usada para inicializar os componentes do Hilt em seu aplicativo.
@HiltAndroidApp
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// Initialize Firebase
FirebaseApp.initializeApp(this)
}
}
Crie um módulo Hilt para Firebase para fornecer dependências a outros componentes em seu aplicativo. Um módulo é uma classe que define como fornecer dependências. Para criar um módulo Hilt, anote a classe com @Modulee@InstallIn(SingletonComponent::class)
@Module
@InstallIn(SingletonComponent::class)
class FirebaseModule {
@Provides
fun provideFirebaseAuth(): FirebaseAuth {
return FirebaseAuth.getInstance()
}
@Provides
fun provideFirebaseFirestore(): FirebaseFirestore {
return FirebaseFirestore.getInstance()
}
}
Para usar as dependências do Firebase em seus componentes, use a @Injectanotação para declarar as dependências. Por exemplo, para usar FirebaseAuth em uma atividade, adicione o seguinte código
class MainActivity : AppCompatActivity() {
@Inject lateinit var firebaseAuth: FirebaseAuth
@Inject lateinit var firebaseFirestore: FirebaseFirestore
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Use firebaseAuth and firebaseFirestore
}
}
Atualize seu AndroidManifest.
Encontrar suporte completo para implementação de injeção de dependência com o Firebase é um pouco complicado, mas em outro artigo aprenderemos como implementá-lo em suas diferentes camadas para manter uma estrutura correta e limpa do nosso projeto.





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)