Cách triển khai Hilt với Firebase trong Android
Hilt là một khuôn khổ tiêm phụ thuộc dành cho Android cung cấp một cách tiêu chuẩn để quản lý các phụ thuộc trong ứng dụng của bạn. Firebase là một nền tảng Backend-as-a-Service (BaaS) cung cấp nhiều dịch vụ cho các ứng dụng web và di động. Trong blog này, chúng ta sẽ xem cách triển khai Hilt với Firebase trong ứng dụng Android.
Bước 1: Thêm phụ thuộc Hilt và Firebase vào dự án của bạn
Trước tiên, hãy thêm phần phụ thuộc Hilt vào tệp build.gradle cấp ứng dụng của bạn. Phiên bản mới nhất của Hilt tại thời điểm viết bài này là 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'
Tạo một lớp Ứng dụng và chú thích nó bằng @HiltAndroidApp. Lớp này đóng vai trò là điểm vào cho Hilt và được sử dụng để khởi tạo các thành phần Hilt trong ứng dụng của bạn.
@HiltAndroidApp
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// Initialize Firebase
FirebaseApp.initializeApp(this)
}
}
Tạo mô-đun Hilt cho Firebase để cung cấp các phụ thuộc cho các thành phần khác trong ứng dụng của bạn. Một mô-đun là một lớp xác định cách cung cấp các phụ thuộc. Để tạo mô-đun Hilt, hãy chú thích lớp bằng @Modulevà@InstallIn(SingletonComponent::class)
@Module
@InstallIn(SingletonComponent::class)
class FirebaseModule {
@Provides
fun provideFirebaseAuth(): FirebaseAuth {
return FirebaseAuth.getInstance()
}
@Provides
fun provideFirebaseFirestore(): FirebaseFirestore {
return FirebaseFirestore.getInstance()
}
}
Để sử dụng các phần phụ thuộc của Firebase trong các thành phần của bạn, hãy sử dụng @Injectchú thích để khai báo các phần phụ thuộc. Ví dụ: để sử dụng FirebaseAuth trong Hoạt động, hãy thêm đoạn mã sau
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
}
}
Cập nhật AndroidManifest.
Việc tìm kiếm hỗ trợ triển khai đầy đủ cho phép nội xạ phụ thuộc với Firebase hơi phức tạp, nhưng trong một bài viết khác, chúng ta sẽ tìm hiểu cách triển khai nó trong các lớp khác nhau của nó để duy trì cấu trúc chính xác và rõ ràng cho dự án của chúng ta.

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































