Size: a a a

Moxy – MVP библиотека под Android

2019 June 21

T

Tepex in Moxy – MVP библиотека под Android
DarkPerl
Ребят, никто не сталкивался с вопросом, как организовать архитектуру приложения, если нужно, например в Activity использовать RecyclerView + Moxy ? )))
Где необходимо разместить presenter ? Внутри Adapter ?
Или же не посредственно в Activity как член класса ?
Есть у кого ссылка на пример?
Просто данные нужно тянуть и из базы данных и из сети... как правильно организовать структуру используя Moxy не совсем понятно )))) Новичёк я в Moxy ) 😋
Объект адаптера размещается в Активити/фрагменте и, посредством интерфейса View управляется из презентера. Т.е. презентер вызывает методы View для передачи данных, а реализующий этот View Активити/Фрагмент уже пробрасывает данные в адаптер
источник

TD

T D in Moxy – MVP библиотека под Android
Tepex
Не стоит в начале пути поддаваться соблазну преждевременной оптимизации
спс попробую
источник
2019 June 22

D

DarkPerl in Moxy – MVP библиотека под Android
Tepex
Объект адаптера размещается в Активити/фрагменте и, посредством интерфейса View управляется из презентера. Т.е. презентер вызывает методы View для передачи данных, а реализующий этот View Активити/Фрагмент уже пробрасывает данные в адаптер
То есть, будет корректным примерно такая реализация:
Внутри Activity размещены члены класса:
recyclerView, adapter, layoutManager, presenter
Меторды интерфейса View, которые реализует Activity:
initAdapter(List<T> list) // вызываем из presenter, скажем, из конструктора или из другого метода, связанного с жизненым циклом или событием.
И какие-то методы, расположенные внутри presenter, например, пользователь нажал на кнопку и нужно полезть в базу или в сеть и обновить данные...
Ну и сообщаем об этом нашему View если необходимо через getViewState().someMethod()
Так будет корректно с точки зрения MVP и Moxy в частности ?🤓
источник

D

DarkPerl in Moxy – MVP библиотека под Android
Грубо говоря, они будут дергать методы друг друга по кругу )
источник
2019 June 24

IT

Indira Temkesheva in Moxy – MVP библиотека под Android
Всем привет,сейчас перехожу на androidx и столкнулась с проблемой, кто-нибудь знает с чем связано/как решить?
Подключила moxy-community:
implementation "com.github.moxy-community:moxy:1.0.13"
annotationProcessor "com.github.moxy-community:moxy-compiler:1.0.13"
implementation "com.github.moxy-community:moxy-app-compat:1.0.13"
implementation "com.github.moxy-community:moxy-androidx:1.0.13"
источник

AK

Alexey Kalyaganov in Moxy – MVP библиотека под Android
Indira Temkesheva
Всем привет,сейчас перехожу на androidx и столкнулась с проблемой, кто-нибудь знает с чем связано/как решить?
Подключила moxy-community:
implementation "com.github.moxy-community:moxy:1.0.13"
annotationProcessor "com.github.moxy-community:moxy-compiler:1.0.13"
implementation "com.github.moxy-community:moxy-app-compat:1.0.13"
implementation "com.github.moxy-community:moxy-androidx:1.0.13"
Судя по логу нужно выбрать appcompat или androidx
источник

IT

Indira Temkesheva in Moxy – MVP библиотека под Android
Alexey Kalyaganov
Судя по логу нужно выбрать appcompat или androidx
Большое спасибо)) убрала appcompat и все работает, долго сидела думала над этим, оказалось все проще)
источник

D

DarkPerl in Moxy – MVP библиотека под Android
Ребят, что делать, если мне нужен context в presenter ? (Тема, наверное, избитая )
Есть Activity и presenter как член класса.
Мне необходимо получить instance db внутри presenter 🤓
А чтобы его получить, мне нужен context )))
Какое тут верное решение с точки зрения MVP и Moxy в частности?
Насколько я понимаю, главная проблема тут  - возможная утечка памяти.
источник

U

Uvays in Moxy – MVP библиотека под Android
DarkPerl
Ребят, что делать, если мне нужен context в presenter ? (Тема, наверное, избитая )
Есть Activity и presenter как член класса.
Мне необходимо получить instance db внутри presenter 🤓
А чтобы его получить, мне нужен context )))
Какое тут верное решение с точки зрения MVP и Moxy в частности?
Насколько я понимаю, главная проблема тут  - возможная утечка памяти.
используй application context
источник

D

DarkPerl in Moxy – MVP библиотека под Android
Uvays
используй application context
Понял, спасибо )
источник

U

Uvays in Moxy – MVP библиотека под Android
DarkPerl
Понял, спасибо )
а вообще если в проекте есть dagger просто в модуле написать метод для провайда instance db и потом инжектить в презентере сразу этот instance
источник

D

DarkPerl in Moxy – MVP библиотека под Android
Uvays
а вообще если в проекте есть dagger просто в модуле написать метод для провайда instance db и потом инжектить в презентере сразу этот instance
Не, Dagger нету )
С Moxy знакомлюсь )
источник
2019 June 25

АЕ

Алексей Ершов in Moxy – MVP библиотека под Android
DarkPerl
Ребят, что делать, если мне нужен context в presenter ? (Тема, наверное, избитая )
Есть Activity и presenter как член класса.
Мне необходимо получить instance db внутри presenter 🤓
А чтобы его получить, мне нужен context )))
Какое тут верное решение с точки зрения MVP и Moxy в частности?
Насколько я понимаю, главная проблема тут  - возможная утечка памяти.
Лучше передавать в презентер непосредственно нужные ему зависимости, например, не контекст, а инстанс БД в вашем случае.
источник

D

DarkPerl in Moxy – MVP библиотека под Android
Алексей Ершов
Лучше передавать в презентер непосредственно нужные ему зависимости, например, не контекст, а инстанс БД в вашем случае.
Можете объяснить почему так будет лучше ?
Я просто не хочу засорять Activity лишними объектами, которые не связаны с бизнес логикой и работой с данными. Вроде MVP же паттерн )
источник

MR

Max Rovkin in Moxy – MVP библиотека под Android
Чтобы не зависеть от android sdk, тогда в тестах проще будет
источник

СР

Степан Ревицький in Moxy – MVP библиотека под Android
тестах😂😂
а что кто то их пишет?
источник

VS

Volodymyr Stelmashchuk in Moxy – MVP библиотека под Android
а есть другой способ делать рабочее приложение?
источник

СР

Степан Ревицький in Moxy – MVP библиотека под Android
QA отдел
источник

ZR

Zhomart Rsaliyev in Moxy – MVP библиотека под Android
вечер добрый, есть кто работал с MvpAppCompatDialogFragment?
источник

D

DarkPerl in Moxy – MVP библиотека под Android
Max Rovkin
Чтобы не зависеть от android sdk, тогда в тестах проще будет
Тогда у нас засоряется Activity различными объектами и методами связанными с бизнес логикой приложения и работой с данными, разве нет ? Например, с базой данных и с сетью и тд и тп.
Можно, конечно, попробовать вынести все это еще в один отдельный класс\объект и разместить его в Activity и уже из него просить всякие Instance и прочее ) Ну, я не знаю, насколько такой вариант будет читабельнее и лучше )
Или может, я не совсем верно себе представляю как работать с MVP паттерном.
А вообще, разработчики Android могли бы изначально позаботиться о том, чтобы не делать Activity god object ом ))) Не знаю, почему они сделали именно так ) Им виднее, наверное )
источник