Я прочитал много названий и примеров Dagger 2 для Android.Каждый пример показывает, что я могу прикрепить компоненты моего модуля к CoreComponent\AppComponent
.И каждый пример показывает, как CoreComponent знает, что включать в себя.
Но я хочу избежать этого, потому что мой CoreComponent\AppComponent
на низком уровне - все модули знают о CoreComponent
, CoreComponent
ничего не знает.
Я прочитал много примеров, но не нашеллюбое решение для этого случая.
Я пытался создать что-то вроде этого:
@ActivityScope
@Component(
dependencies = [CoreComponent::class],
modules = [NetworkModule::class]
)
interface ModuleOneComponent {
fun inject(moduleOneActivity: ModuleOneActivity)
}
, но я сложил эту строку:
fun inject(moduleOneComponent: ModuleOneActivity)
Согласно это учебник, сновый AndroidInjector
механизм, я больше не могу использовать метод ввода.
DaggerModuleOneComponent.builder()
.coreComponent(getCoreComponent())
.build()
// CAN'T DO THIS
.inject(this)
Итак, я не знаю, как добиться своего предпочтительного пути.