Size: a a a

2020 March 25

Y

YorkIsMine in Dagger 2
есть интерфейс. В модуле мы его забиндили и в качестве аргумента вставили реализацию
источник

Y

YorkIsMine in Dagger 2
что если этих реализаций две?
источник

Y

YorkIsMine in Dagger 2
которые имплементят интерфейс
источник

Y

YorkIsMine in Dagger 2
так, я с этим разобрался. Оказалось, что независимо от того, что в аргументе, я могу внедрить 2 реализацию, хоть в аргументе бинд-метода была только
источник

Y

YorkIsMine in Dagger 2
как эта штука вообще работает?)
источник

АЕ

Алексей Ершов in Dagger 2
YorkIsMine
что если этих реализаций две?
какая разница, сколько их? Вы же забиндили одну, конкретную.
источник

АЕ

Алексей Ершов in Dagger 2
Смотрите, есть у вас интерфейс и две реализации. На каждой реализации висит Inject конструктор, например. Даггер умеет создавать каждую из них, но при этом если какой-то другой класс зависит от интерфейса - он не будет знать, какую из реализаций подставить
источник

АЕ

Алексей Ершов in Dagger 2
вот Binds нужно, чтобы сказать даггеру, какую реализацию взять, если просят интерфейс
источник

Y

YorkIsMine in Dagger 2
Алексей Ершов
вот Binds нужно, чтобы сказать даггеру, какую реализацию взять, если просят интерфейс
То есть я пропишу @inject val a: SomeInterface, то у меня внедрится та реализация, которая прописана в аргументе?
источник

АЕ

Алексей Ершов in Dagger 2
именно так
источник

Y

YorkIsMine in Dagger 2
Спасибо за объяснение
источник
2020 March 26

Y

YorkIsMine in Dagger 2
Привет еще раз. Вопрос появился таков: когда нужно использовать различные скоупы, сабкомпоненты и прочие тому штуки? Я понимаю, что ответ возможно в виде "если проект большой, то это все нужно использовать", однако это малоинформативно. Может хотя бы кто скинет какие-нибудь большие проекты, где все это добро применяется?
источник
2020 March 27

SS

Siarhei Smuraha in Dagger 2
Добрый день. Есть 3 фрагмента с навигацией А->B->C. Фрагменты B и C используют один экземпляр ViewModel (достается из ViewModelProvider.Factory через MapKey). Соответсвенно Factory находится в скоупе активити. Получается что общая ViewModel продолжает жить когда фрагментов B и С уже нет, и потом когда из А открывается В во ViewModel еще находятся данные из предыдущей сессии. Вопрос, можно ли как-то грохать\пересоздавать эту ViewModel когда открывается\умирает фрагмент В, например?
источник
2020 March 30

Y

YorkIsMine in Dagger 2
Вечер добрый. Скажите, где нужно использовать фабрики/билдеры компонентов? В каких случаях?
источник

Y

YorkIsMine in Dagger 2
Я понимаю зачем нужен билдер в корневом компоненте
источник

Y

YorkIsMine in Dagger 2
но не понимаю зачем он нужен в дочерних, с какой целью?
источник

IG

Ilya Gulya in Dagger 2
YorkIsMine
но не понимаю зачем он нужен в дочерних, с какой целью?
Ну например предоставить в компонент зависимости какие-то
источник

Y

YorkIsMine in Dagger 2
можете привести пример? И чем плох тот же component dependencies?
источник

IG

Ilya Gulya in Dagger 2
YorkIsMine
можете привести пример? И чем плох тот же component dependencies?
Так они не исключают друг друга.
Component Dependencies обычно юзается для связи с другим компонентом.
Можно и в качестве dependency прокидывать.
А можно и так:
источник

Y

YorkIsMine in Dagger 2
признаюсь, немного каша в голове. А конкретнее для чего мы передаем аргументы в компонент? Чтобы другие компоненты использовали их?
источник