Comment implémenter Hilt avec Firebase dans Android

Feb 07 2023
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.

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.

Droits d'image des développeurs 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.