Dagger2 генерирует много шаблонов и кода для вас, обычно эти сгенерированные объекты имеют префикс со словом Dagger
, когда вы пытаетесь взаимодействовать с ними.Я не знаю, ответит ли это на ваш вопрос или нет, но при использовании Dagger вам обычно необходимо сначала создать сборку приложения для этих классов, прежде чем вы начнете их использовать, а выполнение очистки и сборки будетзаново сгенерируйте эти файлы для вас (очистите, удалите, создайте сборку).
в качестве примера:
DaggerAppComponent.builder()
.application(this)
.build()
.inject(this)
этот DaggerAppComponent
будет доступен только после выполнения сборки, поскольку она генерируетсячерез структуру кинжала
Аннотации, предоставляемые кинжалом, такие как @Inject
, просто говорят кинжалу, КАК генерировать определенные файлы или куда (для этого экземпляра) вводить значения, эти аннотации используются, чтобы сообщить кинжалу, как это сделать.вещи вместо того, чтобы быть отражением