Size: a a a

Android Architecture

2020 May 15

JF

Jorik Fat in Android Architecture
Igor
используйте onStart, он вызовется
Такой вариант я рассматривал.
Что касается навигатора: не совсем понятно на каких слоях он располагается. Между Interactor и Presenter? или между View и Presenter?
источник
2020 May 16

AD

Aleksey D. in Android Architecture
Jorik Fat
Такой вариант я рассматривал.
Что касается навигатора: не совсем понятно на каких слоях он располагается. Между Interactor и Presenter? или между View и Presenter?
По описанию Игоря подходит Cicerone

https://github.com/terrakok/Cicerone


но я не понял, каким образом навигация связана с наблюдением за состоянием сети - они вообще никак не должны быть связаны
источник

JF

Jorik Fat in Android Architecture
Aleksey D.
По описанию Игоря подходит Cicerone

https://github.com/terrakok/Cicerone


но я не понял, каким образом навигация связана с наблюдением за состоянием сети - они вообще никак не должны быть связаны
Я рассматриваю ещё такой вариант:
Хранить instance network в activity, а не в application. Таким образом у меня будут отдельные networks на каждую фичу. Тогда на весь application может создаваться больше 1 network, но при необходимости система закроет предыдущие activities с их networks.
Какие возможны последствия у этого подхода?
источник

JF

Jorik Fat in Android Architecture
Aleksey D.
По описанию Игоря подходит Cicerone

https://github.com/terrakok/Cicerone


но я не понял, каким образом навигация связана с наблюдением за состоянием сети - они вообще никак не должны быть связаны
Cicirone не совсем подходит по архитектуре. У него навигация идёт внутри activity и внутри fragment. Он не может обработать возврат на предыдущее activity (может только с явным указанием network. Что ничем не отличается от стандартного возврата, и получается Cicirone никакую функцию выполнять не будет)
источник

КР

Кирилл Романенко... in Android Architecture
Aleksey D.
считаю, что нам нужон коктейль из mvi, mvp, mvvm, tea и прочего 🌚
Нет, не нужон
источник

I

Igor in Android Architecture
Кирилл Романенко
Нет, не нужон
ну да, а то на утро голова будет болеть)
источник

AD

Aleksey D. in Android Architecture
Jorik Fat
Я рассматриваю ещё такой вариант:
Хранить instance network в activity, а не в application. Таким образом у меня будут отдельные networks на каждую фичу. Тогда на весь application может создаваться больше 1 network, но при необходимости система закроет предыдущие activities с их networks.
Какие возможны последствия у этого подхода?
я не очень понимаю, что такое networks в задаче, но что мешает иметь глобальный менеджер и из активити подключаться к нему колбэками?
источник

AD

Aleksey D. in Android Architecture
Jorik Fat
Cicirone не совсем подходит по архитектуре. У него навигация идёт внутри activity и внутри fragment. Он не может обработать возврат на предыдущее activity (может только с явным указанием network. Что ничем не отличается от стандартного возврата, и получается Cicirone никакую функцию выполнять не будет)
ну, выход из активити с возвратом на предыдущую - умеет
источник

S

Salt in Android Architecture
Здрасьте, на экране есть два контрола и нужно реализовать их взаимодействие в контексте Чистой Архитектуры. Допустим есть Список фильмов и Информация о фильме на одном экране. По нажатию на фильм из Списка обновляется Информация о фильме. Информация о фильмах имеет кнопку Показать похожие фильмы, по нажатию на которую обновляется Список фильмов.
источник

S

Salt in Android Architecture
В контексте Чистой Архитектуре как будет выглядеть поток данных?
источник

JF

Jorik Fat in Android Architecture
Aleksey D.
я не очень понимаю, что такое networks в задаче, но что мешает иметь глобальный менеджер и из активити подключаться к нему колбэками?
network = instance Retrofit
источник

JF

Jorik Fat in Android Architecture
Aleksey D.
ну, выход из активити с возвратом на предыдущую - умеет
Покажу на примере:
R, A, B, C - Activities с внутренними фрагментами. При переходе на Activity_C ей выделяется отдельный RetrofitInstance. Как при выходе из Activity_C получить Retrofit_A/Retrofit_B, в зависимости от backstack?
источник

AC

Alexandr Chubryk in Android Architecture
но зачем?
источник

AC

Alexandr Chubryk in Android Architecture
для чего нужно дерево из ретрофитов, аналогичное дереву экранов?
источник

JF

Jorik Fat in Android Architecture
потому что в Retrofit сейчас 20 методов, и планируется добавка еще 15
источник

JF

Jorik Fat in Android Architecture
Jorik Fat
Каких проблем я избегаю когда создаю единый обработчик сети (singleton retrofit)?
Всегда создавал единую точку для взаимодействия с сетью, но при поддержке встречал и другие реализации, где при общении с сетью на каждый запрос создавался свой экземпляр взаимодействия с сетью. Чем такой подход череват и какие проблемы он порождает?
Началось всё отсюда
источник

AC

Alexandr Chubryk in Android Architecture
Jorik Fat
потому что в Retrofit сейчас 20 методов, и планируется добавка еще 15
если вы хотите упорядочить методы по фичам, вынесите их в отдельные репозитории, можете создавать новый репозиторий для каждого экрана, при этом имея один экземпляр ретрофита на всё приложение
источник

AC

Alexandr Chubryk in Android Architecture
и мне кажется, что совершенно незачем пытаться создать бэкстек из этих репозиториев/экземпляров ретрофита, который бы повторял бэкстек экранов
источник

JF

Jorik Fat in Android Architecture
Alexandr Chubryk
и мне кажется, что совершенно незачем пытаться создать бэкстек из этих репозиториев/экземпляров ретрофита, который бы повторял бэкстек экранов
предложенный принцип заключался в том, чтобы сохранять единый экземпляр, но иметь разные интерфейсы (разделенные по фичам). И при переходе к фиче - пересобирать тот самый экземпляр
источник

AD

Aleksey D. in Android Architecture
Jorik Fat
потому что в Retrofit сейчас 20 методов, и планируется добавка еще 15
retrofit != api, может быть один retrofit  и много api-интерфейсов
источник