Size: a a a

Android Architecture

2020 September 21

NS

Nikita Samoylov in Android Architecture
Ты про гугловскую либу?
источник

NS

Nikita Samoylov in Android Architecture
Что-то вроде такого https://netflixtechblog.com/making-our-android-studio-apps-reactive-with-ui-components-redux-5e37aac3b244, но без eventBus, с видимыми потоками данных
источник

A

ABI in Android Architecture
Quantum Harmonizer
да, только галку ещё надо поставить, чтобы лигатуры включить
! Спасибо
источник

М

Максим in Android Architecture
iamthevoid
Думаю над тем, как должен выглядеть идеальный MVI

Если взять его в простом виде, то у нас есть стейт, который обзёрвит вью, есть экшн, который обзёрвит вью модель

Но если взять что то посложнее, начинают возникать вопросы. У меня более сложная иерархия, но мне будет достаточно понимания более простого примера, а именно:

У нас есть активити, которая холдит 2 фрагмента. У каждого - своя вью модель, причём взаимодействия с одним фрагментом теоретически могут аффектить второй фрагмент, а какие то составляющие стейта второго фрагмента теоретически могут влиять на первый фрагмент.

Самый близкий пример - аудиоплеер, который в портретном режиме выглядит одним образом, в лендскейпе другим. Контролы на одном фрагменте, на другом обложка, тайтл. И там и там есть элементы контроля, например на первом кнопки, на втором жесты.

Как в таком случае будет выглядеть взаимодействие? Каждый фрагмент должен подписаться на экшны и стейт другого?
У меня была такая проблема когда начал работать с MVI. Я решил следующим образом.  Делаем скоупы, в каждом своя модель итерируемого состояния (и не только), создаём скоупы руками, получаем статично где требуется, слушаем и изменяем. Если надо - закрываем.
источник

A

ABI in Android Architecture
Гуру, подскажите как лучше.
MVVM, single activity , есть три фрагмента, надо на одном из них сделать поле "до повторной попытки осталось ХХ секунд" -  при этом при переключении между фрагментами счетчик должен продолжать тикать, и т.д. Вопрос - где лучше разместить код самого таймера в Fragment или в VM ?
источник

М

Максим in Android Architecture
ABI
Гуру, подскажите как лучше.
MVVM, single activity , есть три фрагмента, надо на одном из них сделать поле "до повторной попытки осталось ХХ секунд" -  при этом при переключении между фрагментами счетчик должен продолжать тикать, и т.д. Вопрос - где лучше разместить код самого таймера в Fragment или в VM ?
не гуру, но тут тоже самое по сути, для общего стейта делайте общую вьюмодель, и в нужном месте обращайтесь к ней
источник

A

ABI in Android Architecture
увы - для каждого фрагмента своя VM
источник

М

Максим in Android Architecture
ABI
увы - для каждого фрагмента своя VM
разве нельзя ещё одну заинжектить?
источник

AI

Alexey Illarionov in Android Architecture
ABI
Гуру, подскажите как лучше.
MVVM, single activity , есть три фрагмента, надо на одном из них сделать поле "до повторной попытки осталось ХХ секунд" -  при этом при переключении между фрагментами счетчик должен продолжать тикать, и т.д. Вопрос - где лучше разместить код самого таймера в Fragment или в VM ?
а если пользователь ушел с этих 3 фрагментов, а потом опять вернулся, счетчик должен сбрасываться? Есть подозрение, что этот счетчик стоит хранить вообще где-нибудь в репозитории
источник

A

ABI in Android Architecture
Alexey Illarionov
а если пользователь ушел с этих 3 фрагментов, а потом опять вернулся, счетчик должен сбрасываться? Есть подозрение, что этот счетчик стоит хранить вообще где-нибудь в репозитории
ну чисто в теории пользователь вообще может закрыть приложение, а через 1 секунду опять открыть
источник

A

ABI in Android Architecture
так что хранить что то в репе не вариант
источник

GT

Green Triangle in Android Architecture
Всем привет. Насколько оправдано использовать broadcast receiver, чтобы отправлять команды из сервиса в ui?
источник

ES

Egor Sigolaev in Android Architecture
Green Triangle
Всем привет. Насколько оправдано использовать broadcast receiver, чтобы отправлять команды из сервиса в ui?
Мне кажется более чем. Самое нужное (положить чёто в интент) выполняет и уже хорошо.
источник

IZ

Ilya Zakharov in Android Architecture
По мне так плохая идея.
источник

IZ

Ilya Zakharov in Android Architecture
Что то делать из сервиса в ui, вообще плохая идея
источник

GT

Green Triangle in Android Architecture
Ilya Zakharov
Что то делать из сервиса в ui, вообще плохая идея
ну, там вроде как есть биндинги, что уже говорит о том, что сервис с активити связываются
источник

ES

Egor Sigolaev in Android Architecture
Ilya Zakharov
Что то делать из сервиса в ui, вообще плохая идея
Эм, что?
источник

GT

Green Triangle in Android Architecture
так что в целом это не плохо, вопрос только в том, как правильно это сделать
источник

IZ

Ilya Zakharov in Android Architecture
Egor Sigolaev
Эм, что?
Ой я опять на казахском начал писать?
источник

GT

Green Triangle in Android Architecture
Egor Sigolaev
Мне кажется более чем. Самое нужное (положить чёто в интент) выполняет и уже хорошо.
пока только не придумал самый простой способ получить фореграунд активити из ресивера зарегистрированного через манифест. Думал в application'е хранить линку на фореграунд активити, но мне что-то подсказывает, что там не все так просто
источник