Size: a a a

Android Architecture

2020 September 21

ES

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

ES

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

GT

Green Triangle in Android Architecture
Egor Sigolaev
А зачем нужна активити из форграунда?
вообще есть сервис и несколько активити, которые могут с ним работать. Сервис должен дать обратную связь, а активити должна ее обработать и сделать некоторые изменения во view (например одна показывает диалог  другая вью добавляет на экран)
источник

ES

Egor Sigolaev in Android Architecture
Green Triangle
вообще есть сервис и несколько активити, которые могут с ним работать. Сервис должен дать обратную связь, а активити должна ее обработать и сделать некоторые изменения во view (например одна показывает диалог  другая вью добавляет на экран)
Ну так чем броадкаст не угодил?
источник

GT

Green Triangle in Android Architecture
Egor Sigolaev
Ну я бы кстати с фограундами был бы осторожнее, они же могут и без активити работать.
в этом случае нужно детектнуть, что фореграунд активити нет и стартанут главную с нужным параметром в intent'e
источник

GT

Green Triangle in Android Architecture
Egor Sigolaev
Ну так чем броадкаст не угодил?
в случае с биндингом, я могу понять из сервиса есть у меня кто-то на той стороне или нет
в случае с бродкастами, я думаю, как правильно детектнуть фореграунд активити и дернуть в ней нужный метод. Или детектнуть отсутствие фореграунд активити
источник

ES

Egor Sigolaev in Android Architecture
Green Triangle
в случае с биндингом, я могу понять из сервиса есть у меня кто-то на той стороне или нет
в случае с бродкастами, я думаю, как правильно детектнуть фореграунд активити и дернуть в ней нужный метод. Или детектнуть отсутствие фореграунд активити
Ну если тебе надо понять, жива там активити или нет, то тогда заюзай биндинг.
источник

GT

Green Triangle in Android Architecture
Egor Sigolaev
Ну если тебе надо понять, жива там активити или нет, то тогда заюзай биндинг.
а в случае с бродкаст ресивером зареганным в манифесте не все же так просто? Если вызывается onReceive прилка (а именно Application класс) то же стартует?
источник
2020 September 22

P

Pavel in Android Architecture
Стартует
источник

P

Pavel in Android Architecture
BTW, зачем нужен бродкаст в мире rx/корутин?🤔
источник

AD

Aleksey D. in Android Architecture
Pavel
BTW, зачем нужен бродкаст в мире rx/корутин?🤔
чтобы общаться между процессами
чтобы получать уведомления от системы и других приложений
источник

P

Pavel in Android Architecture
Между процессами - лучше aidl.
Уведомления от системы - да. Но в этом случае бродкаст лучше завернуть поглубже в репозиторий. Из репозитория выставить наружу subject/channel.
источник

GR

Gor Rushanyan in Android Architecture
Pavel
Между процессами - лучше aidl.
Уведомления от системы - да. Но в этом случае бродкаст лучше завернуть поглубже в репозиторий. Из репозитория выставить наружу subject/channel.
Завернуть всегда лучше, но это и есть ответ зачем он нужен.
источник
2020 September 23

RC

Roman Chumachenko in Android Architecture
Есть юзкейс, юзкейс работает с ReviewManager, за имплементацией которого прячу вызовы к реальной библиотеке.
Вопрос вот в чем: в некоторых случаях этот самый ReviewManager должен прочитать файл из res/raw. Я правильно понимаю, что передавать в такой output port контекст или открытый InputStream плохая идея?
источник

YW

Yakov Weber in Android Architecture
Roman Chumachenko
Есть юзкейс, юзкейс работает с ReviewManager, за имплементацией которого прячу вызовы к реальной библиотеке.
Вопрос вот в чем: в некоторых случаях этот самый ReviewManager должен прочитать файл из res/raw. Я правильно понимаю, что передавать в такой output port контекст или открытый InputStream плохая идея?
В RewiewManager инжект Context(это дата слой же) и читай raw файл через него.
источник

NT

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

RC

Roman Chumachenko in Android Architecture
Nikita Tipun
А нельзя в менеджер заинжектить класс, который сам будет под капотом разруливать?
Я вот такое решил делать. В конструктор пробрасывать интерфейс, его имплементация будет уже читать файл
источник

NT

Nikita Tipun in Android Architecture
Угу, кажется норм
источник

YW

Yakov Weber in Android Architecture
Nikita Tipun
А нельзя в менеджер заинжектить класс, который сам будет под капотом разруливать?
Я часто делаю абстракцию над контекстом типа ResManager для доступа к ресурсам
источник

RC

Roman Chumachenko in Android Architecture
Yakov Weber
Я часто делаю абстракцию над контекстом типа ResManager для доступа к ресурсам
Кстати, это тоже мысль, спасибо
источник