短剣の柄を使用してプロジェクトを作成し、動的機能を作成すると、次のようなエラーが表示されます
/MyApplication_HiltComponents.java:166: error: [Dagger/MissingBinding] com.apps.jobwishlist3.core.domain.usecase.JobUseCase cannot be provided without an @Provides-annotated method.
public abstract static class ApplicationC implements MyApplication_GeneratedInjector,
^
A binding with matching key exists in component: com.apps.jobwishlist3.MyApplication_HiltComponents.ActivityC
com.apps.jobwishlist3.core.domain.usecase.JobUseCase is requested at
com.apps.jobwishlist3.di.FullTimeModuleDependencies.jobUseCase()
エラーの意味がよくわかりません。@singeton を消去しようとしましたが、それでもエラーが発生します。
このコードのように短剣の柄に必要なものはすべて既に作成しています
@EntryPoint
@InstallIn(ApplicationComponent::class)
interface FullTimeModuleDependencies {
fun jobUseCase(): JobUseCase
}
この
@Component(dependencies = [FullTimeModuleDependencies::class])
interface FullTimeComponent {
fun inject(activity: FullTimeActivity)
@Component.Builder
interface Builder {
fun context(@BindsInstance context: Context): Builder
fun appDependencies(fullTimeModuleDependencies: FullTimeModuleDependencies): Builder
fun build(): FullTimeComponent
}
}
しかし、それでも短剣は私のこのアクティビティコードでそれを生成しません
DaggerFullTimeComponent.builder()
.context(this)
.appDependencies(
EntryPointAccessors.fromApplication(
applicationContext,
FullTimeModuleDependencies::class.java
)
)
.build()
.inject(this)
まだ赤くてDaggerFullTimeComponent
どうしたらいいのかわからない。知っている人がいたら助けてください。ありがとうございました。
すべてを知る必要がある場合、これは私の完全なプロジェクトです: https://github.com/cube76/JobWishlist3