Size: a a a

2019 May 24

A

AndXor in Dagger 2
источник

A

AndXor in Dagger 2
это генерируемые классы, что я делаю не так?
источник

N

Nikolay in Dagger 2
AndXor
Народ привет, подскажите пж делаю ./gradlew clean build и получаю вот такую ерунду
у тебя зависимость эта есть?
источник

Kd

Konstantin dmz9 in Dagger 2
раньше был один модуль-приложение, решил разбить на несколько - база->экраны (фрагменты)->апп.
в классе аплликейшна создается граф, в котором хранятся все зависимости, и пока все было в одном модуле - было ок, т.к. инжекты во фрагменты прописывались внутри них самих и класс аппликейшна был доступен тут же.
сейчас же из модуля экрана нельзя получить класс приложения, и я не могу руками писать инжекты внутри фрагмента т.к. граф зависимостей лежит в модуле апп.
====
как можно решить такую проблему? подход singleActivity, помогут ли тут fragmentLifecycleCallbacks, если инжектить зависимости в активити через коллбэк onFragmentPreCreated? активити лежит в апп модулей и ей граф зависимостей доступен
источник

A

AndXor in Dagger 2
Nikolay
у тебя зависимость эта есть?
нет, это с джавы. В общем я нашёл как исправить
источник

N

Nikolay in Dagger 2
Konstantin dmz9
раньше был один модуль-приложение, решил разбить на несколько - база->экраны (фрагменты)->апп.
в классе аплликейшна создается граф, в котором хранятся все зависимости, и пока все было в одном модуле - было ок, т.к. инжекты во фрагменты прописывались внутри них самих и класс аппликейшна был доступен тут же.
сейчас же из модуля экрана нельзя получить класс приложения, и я не могу руками писать инжекты внутри фрагмента т.к. граф зависимостей лежит в модуле апп.
====
как можно решить такую проблему? подход singleActivity, помогут ли тут fragmentLifecycleCallbacks, если инжектить зависимости в активити через коллбэк onFragmentPreCreated? активити лежит в апп модулей и ей граф зависимостей доступен
много текста и не понятно что ты хочешь. Но если тебе в модуле нужна какаято зависимость - то она должна быть подключена к этому модулю. Иначе как ты собрался ее юзать??
источник

Kd

Konstantin dmz9 in Dagger 2
ясн проще самому разобраться чем объяснять
источник

В

Виктор in Dagger 2
Konstantin dmz9
раньше был один модуль-приложение, решил разбить на несколько - база->экраны (фрагменты)->апп.
в классе аплликейшна создается граф, в котором хранятся все зависимости, и пока все было в одном модуле - было ок, т.к. инжекты во фрагменты прописывались внутри них самих и класс аппликейшна был доступен тут же.
сейчас же из модуля экрана нельзя получить класс приложения, и я не могу руками писать инжекты внутри фрагмента т.к. граф зависимостей лежит в модуле апп.
====
как можно решить такую проблему? подход singleActivity, помогут ли тут fragmentLifecycleCallbacks, если инжектить зависимости в активити через коллбэк onFragmentPreCreated? активити лежит в апп модулей и ей граф зависимостей доступен
я понял, что ты хочешь, но не понимаю, как это реализовать
выделение экранов в модули, мне кажется, не совсем правильно, потому что это слои представления, и он должен быть один
источник

N

Nikolay in Dagger 2
Виктор
я понял, что ты хочешь, но не понимаю, как это реализовать
выделение экранов в модули, мне кажется, не совсем правильно, потому что это слои представления, и он должен быть один
ну я бы не сказал что в этом вопросе может быть правили или не правильно. Бывают разные случаи для которых нужны разные решения. У меня например UI в отдельных модулях. И нет с этим проблем
источник

В

Виктор in Dagger 2
Nikolay
ну я бы не сказал что в этом вопросе может быть правили или не правильно. Бывают разные случаи для которых нужны разные решения. У меня например UI в отдельных модулях. И нет с этим проблем
Хорошо
Я имею в виду, что тогда приходится решать вопросы, которые в материалах по модульной архитектуре крайне слабо освещаются
источник

SV

Sviat Volkov in Dagger 2
Konstantin dmz9
раньше был один модуль-приложение, решил разбить на несколько - база->экраны (фрагменты)->апп.
в классе аплликейшна создается граф, в котором хранятся все зависимости, и пока все было в одном модуле - было ок, т.к. инжекты во фрагменты прописывались внутри них самих и класс аппликейшна был доступен тут же.
сейчас же из модуля экрана нельзя получить класс приложения, и я не могу руками писать инжекты внутри фрагмента т.к. граф зависимостей лежит в модуле апп.
====
как можно решить такую проблему? подход singleActivity, помогут ли тут fragmentLifecycleCallbacks, если инжектить зависимости в активити через коллбэк onFragmentPreCreated? активити лежит в апп модулей и ей граф зависимостей доступен
fragment?.acticity.application ?
источник
2019 May 27

АМ

Абдулмуталим Муртазаев in Dagger 2
Можно ли заставить даггер игнорировать иньекцию одного из параметров конструктора?
источник

АЕ

Алексей Ершов in Dagger 2
и подставить туда что?
источник

АМ

Абдулмуталим Муртазаев in Dagger 2
Да, но в вручную, я потом сам обрабатываю, и вставляю нужный экземпляр объекта, даггер тут не может помочь, а этот объект должен находится в презентере, а презентер инъектится без Provide метода
источник

АЕ

Алексей Ершов in Dagger 2
Уберите его из конструктора тогда
источник

АМ

Абдулмуталим Муртазаев in Dagger 2
Хм, придется пробежатся по всем презентерам, ну ладно уж
источник

АЕ

Алексей Ершов in Dagger 2
а лучше подумайте, как обойтись без этого костыля. Что это за объект такой, который нельзя заинжектить в конструктор?
источник

IG

Ilya Gulya in Dagger 2
Абдулмуталим Муртазаев
Да, но в вручную, я потом сам обрабатываю, и вставляю нужный экземпляр объекта, даггер тут не может помочь, а этот объект должен находится в презентере, а презентер инъектится без Provide метода
В билдер компонента подставьте нужный экземпляр просто
источник

АМ

Абдулмуталим Муртазаев in Dagger 2
Если конкретно, то это роутер из Cicerone, у меня экраны находятся в фрагментах табах, у каждого таба свой роутер, и я не могу иньектить конкрентный роутер, так как не знаю в каком табе окажется фрагмент
источник

VB

V B in Dagger 2
Абдулмуталим Муртазаев
Если конкретно, то это роутер из Cicerone, у меня экраны находятся в фрагментах табах, у каждого таба свой роутер, и я не могу иньектить конкрентный роутер, так как не знаю в каком табе окажется фрагмент
У вас на каждый экран свой роутер?
источник