Size: a a a

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

2020 August 06

МE

Михаил E1ement in Moxy – MVP библиотека под Android
всем привет!
Есть какая-то утилита, которая показывает очередь команд, которые выполнились и вообще, что в стеке в данный момент? Может брекпоинт на крайняк куда вставить?
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Утилиты нету, неплохая идея для развития библиотеки. Для чего хотите это сделать?
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Алексей Ершов
Утилиты нету, неплохая идея для развития библиотеки. Для чего хотите это сделать?
таймтревел 😆
источник

MM

Mikhail Mustakimov in Moxy – MVP библиотека под Android
Aleksey D.
таймтревел 😆
Такое трудно будет сделать, это же finite state machine
источник

MM

Mikhail Mustakimov in Moxy – MVP библиотека под Android
Тут очередь команд. Хотя если полностью их перевыполнять...
источник

МE

Михаил E1ement in Moxy – MVP библиотека под Android
Алексей Ершов
Утилиты нету, неплохая идея для развития библиотеки. Для чего хотите это сделать?
Я просто сам тыкался с стратегиями и у меня почему-то первый вызов @skip просто не отрабатывал. А полезно тем, чтобы посмотреть, например при перевороте какая очередь выполнится, в какой последовательности. Может ещё информацию иметь кто грохнул стек своей стратегией
источник

M

Mr in Moxy – MVP библиотека под Android
Алексей Ершов
Я знаю что это, вот и удивляюсь, что древнее зло пробудилось)
не подскажете, в какой то момент перестал вызываться метод providePresenter, с чем это может быть связано? Использовал решение https://github.com/Arello-Mobile/Moxy/issues/100. Библиотеки из нового репозитрия
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Mr
не подскажете, в какой то момент перестал вызываться метод providePresenter, с чем это может быть связано? Использовал решение https://github.com/Arello-Mobile/Moxy/issues/100. Библиотеки из нового репозитрия
Что значит перестал вызываться?
источник

M

Mr in Moxy – MVP библиотека под Android
Алексей Ершов
Что значит перестал вызываться?
метод getViewState не вызывает методы из фрагмента. Исходя из https://stackoverflow.com/questions/52021464/mvp-with-moxy-presenters-callback-methods-in-fragment-not-called-getviewstate предположил что проблема в провайдере презентера
источник

AK

Anatoliy Kernokus in Moxy – MVP библиотека под Android
Всем привет
источник

AK

Anatoliy Kernokus in Moxy – MVP библиотека под Android
Я в своих мини-проектах писал всю логику работы с сетью и бд в presenter. Недавно до меня снизошло просветление что для этого необходимо выделять целый слой model и работать там. Сейчас я хочу иметь класс по работе с бд(например) и инжектить его в presenter. И там уже с ним работать. Я пытался передавать через constructor презентера,но у меня не вышло. Был бы рад,если бы мне подсказали как мне добавить мои классы слоя model в presenter.(желательно не инжектируя их во view - в activity)
источник

MM

Mikhail Mustakimov in Moxy – MVP библиотека под Android
Anatoliy Kernokus
Я в своих мини-проектах писал всю логику работы с сетью и бд в presenter. Недавно до меня снизошло просветление что для этого необходимо выделять целый слой model и работать там. Сейчас я хочу иметь класс по работе с бд(например) и инжектить его в presenter. И там уже с ним работать. Я пытался передавать через constructor презентера,но у меня не вышло. Был бы рад,если бы мне подсказали как мне добавить мои классы слоя model в presenter.(желательно не инжектируя их во view - в activity)
Через конструктор, все правильно) Просто нужно подсказать мокси, что нужно брать этот экземпляр презентера ( @ProvidePresenter на метод, который делает презентер, либо котлин делегат val presenter: MyPresenter by moxyPresenter { MyPresenter(...) } )
источник

MM

Mikhail Mustakimov in Moxy – MVP библиотека под Android
Мокси можно использовать со всеми популярными DI-библиотеками (Dagger/Hilt, Toothpick, Koin, etc)
источник

M

Mr in Moxy – MVP библиотека под Android
Алексей Ершов
Что значит перестал вызываться?
Если я не правильно трактовал причину, возможно подскажете что ещё проверить?
источник

AK

Anatoliy Kernokus in Moxy – MVP библиотека под Android
Mikhail Mustakimov
Через конструктор, все правильно) Просто нужно подсказать мокси, что нужно брать этот экземпляр презентера ( @ProvidePresenter на метод, который делает презентер, либо котлин делегат val presenter: MyPresenter by moxyPresenter { MyPresenter(...) } )
если я хочу так делать то надо делать не @InjectPresenter а с помощью dagger 2 инжектить презентер во View?
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Anatoliy Kernokus
если я хочу так делать то надо делать не @InjectPresenter а с помощью dagger 2 инжектить презентер во View?
в ридми есть пример кода с Даггером, и скоро выйдет обновлённый сэмпл-проект с Dagger Hilt.
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Mr
Если я не правильно трактовал причину, возможно подскажете что ещё проверить?
Будет лучше если вы запостите на какой-нибудь Gist пример вашего кода, или поделитесь проектом. Скорее всего что-то недоделали в конфигурации экрана, например раньше была популярная ошибка, что на презентер забывали вешать аннотацию @InjectViewState (в последней версии библиотеки это можно не делать). И саму библиотеку-то вы новую используете, вот эту: https://github.com/moxy-community/Moxy ?
репозиторий arello уже deprecated, развитие библиотеки идёт в новом.
источник

M

Mr in Moxy – MVP библиотека под Android
Алексей Ершов
Будет лучше если вы запостите на какой-нибудь Gist пример вашего кода, или поделитесь проектом. Скорее всего что-то недоделали в конфигурации экрана, например раньше была популярная ошибка, что на презентер забывали вешать аннотацию @InjectViewState (в последней версии библиотеки это можно не делать). И саму библиотеку-то вы новую используете, вот эту: https://github.com/moxy-community/Moxy ?
репозиторий arello уже deprecated, развитие библиотеки идёт в новом.
Да, новую. Хорошо, ещё раз всё проверю и если не получится найти - закину на гист
источник

M

Mr in Moxy – MVP библиотека под Android
Алексей Ершов
Будет лучше если вы запостите на какой-нибудь Gist пример вашего кода, или поделитесь проектом. Скорее всего что-то недоделали в конфигурации экрана, например раньше была популярная ошибка, что на презентер забывали вешать аннотацию @InjectViewState (в последней версии библиотеки это можно не делать). И саму библиотеку-то вы новую используете, вот эту: https://github.com/moxy-community/Moxy ?
репозиторий arello уже deprecated, развитие библиотеки идёт в новом.
Удивительно что днём и вчера вечером работало..
источник

AK

Anatoliy Kernokus in Moxy – MVP библиотека под Android
@Inject
lateinit var presenterProvider: Provider<MainPresenter>

private val presenter by moxyPresenter { presenterProvider.get() } если так инжектить презентер в активити,то я правильно понимаю,что надо модуль для презентера выделять в соответствии с логикой работы dagger2?извиняюсь за нубские вопросы
источник