Size: a a a

Android Architecture

2020 August 10

KD

Konstantin Dovnar in Android Architecture
Aleksey D.
кажется, пора сделать дисклеймер, что обсуждаемые подходы имеют смысл тогда, когда этого требует продукт) а то тебя опять в степь «зачем делать так, если можно проще»
Так я с самого начала выделял, что существуют кейсы для всех способов. Это ты яро говорил, что "нет, вот так нельзя" ¯\_(ツ)_/¯
источник

AI

Arkadii Ivanov in Android Architecture
Aleksey D.
ну тоже спорно, фрагмент-сценарий может иметь свою фабрику, если внутри несколько фрагментов живет, например)
Верно, я же говорю одна фабрика на контейнер фрагментов
источник

V

Valera in Android Architecture
ABI
Вот вы флудильщики 😂
Что спрашивают?
источник

AK

Anatoliy Kernokus in Android Architecture
как я понял,есть возможность использовать просто dagger и в активностях /фрагментах делать inject.а есть возможность использовать AndroidInjector.Что чаще используют и вообще есть ли большой смысл переезжать с первого на второе?
источник

KD

Konstantin Dovnar in Android Architecture
Arkadii Ivanov
Верно, я же говорю одна фабрика на контейнер фрагментов
Хм, там разве нет возможности передавать фабрику при создании? Как у VM.
источник

AI

Arkadii Ivanov in Android Architecture
Если это фрагменты-экраны, то они лежат в Активити наверно. Или в неком RootFragment. Вот там и будет эта единственная фабрика.
источник

AI

Arkadii Ivanov in Android Architecture
Konstantin Dovnar
Хм, там разве нет возможности передавать фабрику при создании? Как у VM.
Это ответственность контейнера. Перед вызовом super.onCreate надо вызвать feagmentManager.setFragmentFactory. И вот эта фабрика и создаёт все фрагменты, в рамках этого конкретного контейнера.
источник

KD

Konstantin Dovnar in Android Architecture
Arkadii Ivanov
Это ответственность контейнера. Перед вызовом super.onCreate надо вызвать feagmentManager.setFragmentFactory. И вот эта фабрика и создаёт все фрагменты, в рамках этого конкретного контейнера.
Ужс какой.
Боюсь представить, что из себя представляет корневая фабрика в каком-нибудь большом приложении.
источник

AI

Arkadii Ivanov in Android Architecture
Konstantin Dovnar
Ужс какой.
Боюсь представить, что из себя представляет корневая фабрика в каком-нибудь большом приложении.
Может делегировать. Даже на 20 экранов норм.
источник

AD

Aleksey D. in Android Architecture
Konstantin Dovnar
Ужс какой.
Боюсь представить, что из себя представляет корневая фабрика в каком-нибудь большом приложении.
создание нескольких базовых сценариев
источник

KD

Konstantin Dovnar in Android Architecture
Как тогда решается вопрос с аргументами? Если надо передать id какой-нибудь сущности.

фабрика + setArguments?
источник

AI

Arkadii Ivanov in Android Architecture
На много хуже на мой взгляд, когда все фрагменты зависят от одного SL. Если эти фрагменты вынести в отдельные модули, то получается SL будет в отдельном общем модуле. И его изменение будет пересобирать все зависящие модули.
источник

AD

Aleksey D. in Android Architecture
у FragmentManager есть метод, который принимает класс фрагмента и Bundle
источник

Kd

Konstantin dmz9 in Android Architecture
Arkadii Ivanov
На много хуже на мой взгляд, когда все фрагменты зависят от одного SL. Если эти фрагменты вынести в отдельные модули, то получается SL будет в отдельном общем модуле. И его изменение будет пересобирать все зависящие модули.
koin это service locator который точно также бьется на модули
источник

Kd

Konstantin dmz9 in Android Architecture
и дефинишены для di лежат рядом с фрагментами
источник

KD

Konstantin Dovnar in Android Architecture
Aleksey D.
у FragmentManager есть метод, который принимает класс фрагмента и Bundle
И дальше что с этим? Фабрика в себя, вроде, не получает бандлов.
источник

VP

Valery Ponomarenko in Android Architecture
Aleksey D.
у FragmentManager есть метод, который принимает класс фрагмента и Bundle
у фабрики нет метода, который бы принимал еще и Bundle
источник

AD

Aleksey D. in Android Architecture
Konstantin Dovnar
И дальше что с этим? Фабрика в себя, вроде, не получает бандлов.
менеджер создает фрагмент через фабрику и прикрепляет к нему аргументы
например, Cicerone 5.+ пользуется этим механизмом
источник

VP

Valery Ponomarenko in Android Architecture
во FragmentTransaction выглядит это так
источник

AD

Aleksey D. in Android Architecture
Valery Ponomarenko
у фабрики нет метода, который бы принимал еще и Bundle
я и не про фабрику, хы 🌚 я про FragmentManager, но, похоже, это все-таки у FragmentTransaction методы
источник