Comment implémenter Hilt avec Firebase dans Android
Hilt est un framework d'injection de dépendances pour Android qui fournit un moyen standard de gérer les dépendances dans votre application. Firebase est une plate-forme Backend-as-a-Service (BaaS) qui fournit une variété de services pour les applications mobiles et Web. Dans ce blog, nous verrons comment implémenter Hilt avec Firebase dans une application Android.
Étape 1 : Ajoutez des dépendances Hilt et Firebase à votre projet
Tout d'abord, ajoutez la dépendance Hilt à votre fichier build.gradle au niveau de l'application. La dernière version de Hilt au moment de la rédaction est la 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'
Créez une classe Application et annotez-la avec @HiltAndroidApp. Cette classe sert de point d'entrée pour Hilt et est utilisée pour initialiser les composants Hilt dans votre application.
@HiltAndroidApp
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// Initialize Firebase
FirebaseApp.initializeApp(this)
}
}
Créez un module Hilt pour Firebase afin de fournir des dépendances aux autres composants de votre application. Un module est une classe qui définit comment fournir des dépendances. Pour créer un module Hilt, annotez la classe avec @Moduleet@InstallIn(SingletonComponent::class)
@Module
@InstallIn(SingletonComponent::class)
class FirebaseModule {
@Provides
fun provideFirebaseAuth(): FirebaseAuth {
return FirebaseAuth.getInstance()
}
@Provides
fun provideFirebaseFirestore(): FirebaseFirestore {
return FirebaseFirestore.getInstance()
}
}
Pour utiliser les dépendances Firebase dans vos composants, utilisez l' @Injectannotation pour déclarer les dépendances. Par exemple, pour utiliser FirebaseAuth dans une activité, ajoutez le code suivant
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
}
}
Mettez à jour votre AndroidManifest.
Trouver un support d'implémentation complet pour l'injection de dépendances avec Firebase est un peu compliqué, mais dans un autre article, nous apprendrons comment l'implémenter dans ses différentes couches pour maintenir une structure correcte et propre de notre projet.
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































