Android'de Firebase ile Hilt Nasıl Uygulanır?

Feb 07 2023
Hilt, uygulamanızdaki bağımlılıkları yönetmek için standart bir yol sağlayan, Android için bir bağımlılık enjeksiyon çerçevesidir. Firebase, mobil ve web uygulamaları için çeşitli hizmetler sağlayan bir Hizmet Olarak Arka Uç (BaaS) platformudur.

Hilt, uygulamanızdaki bağımlılıkları yönetmek için standart bir yol sağlayan, Android için bir bağımlılık enjeksiyon çerçevesidir. Firebase, mobil ve web uygulamaları için çeşitli hizmetler sağlayan bir Hizmet Olarak Arka Uç (BaaS) platformudur. Bu blogda Hilt with Firebase'i bir Android uygulamasında nasıl uygulayacağımızı göreceğiz .

Android geliştiricilerinin görüntü hakları

1. Adım: Projenize Hilt ve Firebase bağımlılıkları ekleyin

Öncelikle, Hilt bağımlılığını uygulama düzeyindeki build.gradle dosyanıza ekleyin. Yazma sırasında Hilt'in en son sürümü 2.28-alfa'dır:

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'

Bir Uygulama sınıfı oluşturun ve @HiltAndroidApp. Bu sınıf, Hilt için giriş noktası görevi görür ve uygulamanızda Hilt bileşenlerini başlatmak için kullanılır.

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

Uygulamanızdaki diğer bileşenlere bağımlılıklar sağlamak için Firebase için bir Hilt modülü oluşturun. Modül, bağımlılıkların nasıl sağlanacağını tanımlayan bir sınıftır. Bir Hilt modülü oluşturmak için sınıfa @Moduleve ile açıklama ekleyin@InstallIn(SingletonComponent::class)

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

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

Bileşenlerinizde Firebase bağımlılıklarını kullanmak için, @Injectbağımlılıkları bildirmek üzere ek açıklamayı kullanın. Örneğin, FirebaseAuth'u bir Etkinlikte kullanmak için aşağıdaki kodu ekleyin

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

AndroidManifest'inizi güncelleyin.

Firebase ile bağımlılık enjeksiyonu için tam uygulama desteği bulmak biraz karmaşıktır, ancak başka bir makalede, projemizin doğru ve temiz bir yapısını korumak için farklı katmanlarında nasıl uygulanacağını öğreneceğiz.