D.I(featHilt)DaggerをHiltに変換
1551 ワード
参照-https://developer.android.com/codelabs/android-dagger-to-hilt?hl=ko#0 詳細については、リファレンスページを参照してください。
デフォルトHiltの適用方法
アプリケーション継承アプリケーションクラスのクラスに@HiltAndroidApp名を追加します.
これにより、構築時にコンポーネントが作成されます.
既存のコンポーネントを削除し、@Android EntryPoint操作を依存するクラスに追加します.
@Android EntryPointの追加は、既存のDaggerからcomponentを取得してinjectメソッドを呼び出すのと同じ効果があります.
コンテキストが必要な場所に@ApplicationContextと@Activity Contextを表示します.
アンドロイドシステムは自動的に注入されます.
BroadcastReceiverへのHiltの適用
参照-https://stackoverflow.com/questions/64743087/how-can-i-inject-a-class-that-needs-context-into-broadcast-receiver-with-hilt
abstract class HiltBroadcastReceiver : BroadcastReceiver() {
@CallSuper
override fun onReceive(context: Context, intent: Intent?) {
}
}
@AndroidEntryPoint
class BootReceiver : HiltBroadcastReceiver() {
// Injection -> Example from my application
@Inject
lateinit var internetDaysLeftAlarm: InternetDaysLeftAlarm
override fun onReceive(context: Context, intent: Intent?) {
super.onReceive(context, intent)
// Do whatever you need
}
}
BroadcastReceiverを継承するHiltBroadcastReceiverを実装します.実際に使用しているBroadcastReceiverがHiltBroadcastReceiverを継承すると、hiltは正常に動作します.
Reference
この問題について(D.I(featHilt)DaggerをHiltに変換), 我々は、より多くの情報をここで見つけました https://velog.io/@cluelin/D.I-feat-Hilt-Dagger를-Hilt로-변환하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol