Come implementare Hilt con Firebase in Android

Feb 07 2023
Hilt è un framework di inserimento delle dipendenze per Android che fornisce un modo standard per gestire le dipendenze nella tua applicazione. Firebase è una piattaforma Backend-as-a-Service (BaaS) che fornisce una varietà di servizi per applicazioni mobili e web.

Hilt è un framework di inserimento delle dipendenze per Android che fornisce un modo standard per gestire le dipendenze nella tua applicazione. Firebase è una piattaforma Backend-as-a-Service (BaaS) che fornisce una varietà di servizi per applicazioni mobili e web. In questo blog vedremo come implementare Hilt con Firebase in un'applicazione Android.

Diritti di immagine degli sviluppatori Android

Passaggio 1: aggiungi le dipendenze Hilt e Firebase al tuo progetto

Innanzitutto, aggiungi la dipendenza Hilt al tuo file build.gradle a livello di app. L'ultima versione di Hilt al momento della scrittura è 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'

Crea una classe Application e annotala con @HiltAndroidApp. Questa classe funge da punto di ingresso per Hilt e viene utilizzata per inizializzare i componenti Hilt nell'applicazione.

@HiltAndroidApp
class MyApplication : Application() {
  override fun onCreate() {
    super.onCreate()
    // Initialize Firebase
    FirebaseApp.initializeApp(this)
  }
}

Crea un modulo Hilt per Firebase per fornire dipendenze ad altri componenti nella tua applicazione. Un modulo è una classe che definisce come fornire dipendenze. Per creare un modulo Hilt, annota la classe con @Modulee@InstallIn(SingletonComponent::class)

@Module
@InstallIn(SingletonComponent::class)
class FirebaseModule {
  @Provides
  fun provideFirebaseAuth(): FirebaseAuth {
    return FirebaseAuth.getInstance()
  }

  @Provides
  fun provideFirebaseFirestore(): FirebaseFirestore {
    return FirebaseFirestore.getInstance()
  }
}

Per utilizzare le dipendenze Firebase nei tuoi componenti, utilizza l' @Injectannotazione per dichiarare le dipendenze. Ad esempio, per utilizzare FirebaseAuth in un'attività, aggiungi il codice seguente

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
  }
}

Aggiorna il tuo AndroidManifest.

Trovare il supporto completo dell'implementazione per l'iniezione di dipendenza con Firebase è un po' complicato, ma in un altro articolo impareremo come implementarlo nei suoi diversi livelli per mantenere una struttura corretta e pulita del nostro progetto.