Jak zaimplementować Hilt z Firebase w Androidzie

Feb 07 2023
Hilt to platforma wstrzykiwania zależności dla systemu Android, która zapewnia standardowy sposób zarządzania zależnościami w aplikacji. Firebase to platforma Backend-as-a-Service (BaaS), która zapewnia różnorodne usługi dla aplikacji mobilnych i internetowych.

Hilt to platforma wstrzykiwania zależności dla systemu Android, która zapewnia standardowy sposób zarządzania zależnościami w aplikacji. Firebase to platforma Backend-as-a-Service (BaaS), która zapewnia różnorodne usługi dla aplikacji mobilnych i internetowych. Na tym blogu zobaczymy, jak zaimplementować Hilt z Firebase w aplikacji na Androida.

Prawa do wizerunku twórców Androida

Krok 1: Dodaj zależności Hilt i Firebase do swojego projektu

Najpierw dodaj zależność Hilt do pliku build.gradle na poziomie aplikacji. Najnowsza wersja Hilt w chwili pisania tego tekstu to 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'

Utwórz klasę Application i opisz ją za pomocą @HiltAndroidApp. Ta klasa służy jako punkt wejścia dla Hilt i służy do inicjowania komponentów Hilt w Twojej aplikacji.

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

Utwórz moduł Hilt dla Firebase, aby udostępniać zależności innym komponentom aplikacji. Moduł to klasa, która definiuje sposób dostarczania zależności. Aby utworzyć moduł Hilt, opisz klasę za pomocą @Modulei@InstallIn(SingletonComponent::class)

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

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

Aby użyć zależności Firebase w swoich komponentach, użyj @Injectadnotacji, aby zadeklarować zależności. Na przykład, aby użyć FirebaseAuth w działaniu, dodaj następujący kod

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

Zaktualizuj plik AndroidManifest.

Znalezienie pełnego wsparcia implementacyjnego dla wstrzykiwania zależności za pomocą Firebase jest nieco skomplikowane, ale w innym artykule dowiemy się, jak wdrożyć to w różnych jego warstwach, aby zachować poprawną i czystą strukturę naszego projektu.