Size: a a a

Android Architecture

2020 July 01

E

Eugene in Android Architecture
Alidibir Akhbulatov
имеешь в виду, юзать напрямую роутер в фиче-модуле? в таком случае для перехода роутеру понадобится Screen из Чичероне, а скрины имеет смысл поместить в app-модуль, чтобы фиче-модули не знали про другие экраны
не, у меня есть модуль навигации api и impl, я чичероне скрыл внутри impl и сделал свои интерфейсы роутеров для фич, которые положил в api) вот и все, подключаю navigation-api к нужной фиче и использую нужные для фичи роутер
источник

AA

Alidibir Akhbulatov in Android Architecture
Eugene
не, у меня есть модуль навигации api и impl, я чичероне скрыл внутри impl и сделал свои интерфейсы роутеров для фич, которые положил в api) вот и все, подключаю navigation-api к нужной фиче и использую нужные для фичи роутер
т.е. у тебя в api-модуле абстракция на роутером из Чичероне? И где скрины, классы, наследуемые от SupportAppScreen?
источник

AD

Aleksey D. in Android Architecture
Alidibir Akhbulatov
какой еще родитель фичи?)
ну, положим, ты можешь открыть экран профиля из нескольких мест:
- главный экран приложения - его контейнер и есть родитель
- где-то в процессе регистрации - тогда контейнер регистрации будет родителем
источник

AD

Aleksey D. in Android Architecture
при этом, скажем, при нажатии «назад» на экране профиля в процессе регистрации ты должен попасть на главный экран, а в открытом из главного экрана - выйти из приложения, потому что там BottomNavigationBar и профиль - его часть
источник

E

Eugene in Android Architecture
Alidibir Akhbulatov
т.е. у тебя в api-модуле абстракция на роутером из Чичероне? И где скрины, классы, наследуемые от SupportAppScreen?
в impl модуле, там вся логика
источник

AA

Alidibir Akhbulatov in Android Architecture
Eugene
в impl модуле, там вся логика
И в фиче-модуле, если он контейнер (Activity) нет SupportAppNavigator'a с NavigatorHolder?
источник

E

Eugene in Android Architecture
Alidibir Akhbulatov
И в фиче-модуле, если он контейнер (Activity) нет SupportAppNavigator'a с NavigatorHolder?
есть холдер и навигатор, которые тоже интерфейсы, но это кастомные, они скрывают реализацию чичероневских аналогичных классов) это сделано чтобы не тянуть чичероне везде, а использовать только в navigation-impl модуле
источник

AA

Alidibir Akhbulatov in Android Architecture
Eugene
есть холдер и навигатор, которые тоже интерфейсы, но это кастомные, они скрывают реализацию чичероневских аналогичных классов) это сделано чтобы не тянуть чичероне везде, а использовать только в navigation-impl модуле
а роутеры отдельные на каждую фичу? если да, не получается что при добавлении navigation-api к одной фиче, в ней видны остальные роутеры?
источник

E

Eugene in Android Architecture
Alidibir Akhbulatov
а роутеры отдельные на каждую фичу? если да, не получается что при добавлении navigation-api к одной фиче, в ней видны остальные роутеры?
да, можно придумать что-то и положить роутеры к фичам, но мы инжектим конкретный роутер и только он и используется, реализацию другого роутера нигде не взять
источник

AA

Alidibir Akhbulatov in Android Architecture
Eugene
да, можно придумать что-то и положить роутеры к фичам, но мы инжектим конкретный роутер и только он и используется, реализацию другого роутера нигде не взять
а реализации роутеров в фиче-модулях?
источник

E

Eugene in Android Architecture
Alidibir Akhbulatov
а реализации роутеров в фиче-модулях?
да, можно сделать их там, и наружу у navigation-api пусть торчат только Screen, как вариант)
источник

AA

Alidibir Akhbulatov in Android Architecture
Eugene
да, можно сделать их там, и наружу у navigation-api пусть торчат только Screen, как вариант)
а сейчас у вас все реализации роутеров в navigation-impl?) если да, и интерфейсы роутеров в navigation-api, то фичи-модули смогут ведь через интерфейсы получить любой роутер? я к этой фразе "реализацию другого роутера нигде не взять"
источник

E

Eugene in Android Architecture
Alidibir Akhbulatov
а сейчас у вас все реализации роутеров в navigation-impl?) если да, и интерфейсы роутеров в navigation-api, то фичи-модули смогут ведь через интерфейсы получить любой роутер? я к этой фразе "реализацию другого роутера нигде не взять"
ага) я уже задумался о том что надо поправить, на то как выше написал)
источник

AM

Artem Mi in Android Architecture
Здравствуйте, у меня есть 3 модуля, дата, домейн и презентация, для инжекта использую dagger, возникла трудность в инжекте Рума, в каждом слое у меня есть компонент. Я создал модуль бд, там провайдю рум, и дао, затем пытаюсь заинжектить в репозиторий имплементации и вылазят разного рода ошибка
источник

AM

Artem Mi in Android Architecture
источник

AM

Artem Mi in Android Architecture
источник

N

Nikita in Android Architecture
А модуль разве не должен быть абстрактным?
источник

AM

Artem Mi in Android Architecture
Я видел где-то контекст провайдили, и модуль был абстрактный
источник

AM

Artem Mi in Android Architecture
Там где я наследую класс от Рума, он абстрактный
источник

AM

Artem Mi in Android Architecture
как будет правильно запровайдить имплементацию юскейса? в конструктор я инжектю дао
источник