Size: a a a

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

2021 February 02

AS

Alex Suvorov in Moxy – MVP библиотека под Android
+, тоже вчера читал ))
источник

МА

Михаил Алпеев... in Moxy – MVP библиотека под Android
Хотел предложить доработку для Мокси, было бы здорово, если бы можно было бы при собранном приложении видеть графический виджет в андроид студии с очередью методов во вьюстейте, если это реально сделать
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Михаил Алпеев
Хотел предложить доработку для Мокси, было бы здорово, если бы можно было бы при собранном приложении видеть графический виджет в андроид студии с очередью методов во вьюстейте, если это реально сделать
реально
в MVI-Core от Badoo есть плагин, который состояние умеет отображать - нужно лишь немного подправить 🙂
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Михаил Алпеев
Хотел предложить доработку для Мокси, было бы здорово, если бы можно было бы при собранном приложении видеть графический виджет в андроид студии с очередью методов во вьюстейте, если это реально сделать
Создайте issue, идея хорошая. Для начала можно сделать так, чтобы это логировалось удобно)
источник
2021 February 03

NR

Nikita Rysin in Moxy – MVP библиотека под Android
Всем привет.

Такой вопрос, начал перевод проекта под androidx, ранее была moxy 1.4.5
implementation 'com.arello-mobile:moxy:1.4.5'
   implementation 'com.arello-mobile:moxy-app-compat:1.4.5'
   annotationProcessor 'com.arello-mobile:moxy-compiler:1.4.5'
   implementation 'com.arello-mobile:moxy-android:1.4.5'
   kapt 'com.arello-mobile:moxy-compiler:1.4.5'

Cейчас поставил 2.2.1
implementation 'com.github.moxy-community:moxy:2.2.1'
annotationProcessor 'com.github.moxy-community:moxy-compiler:2.2.1'
kapt 'com.github.moxy-community:moxy-compiler:2.2.1'


Ранее в коде была такая связка
У фрагмента просто был вызов
@InjectPresenter
TestPresenter presenter;
и при обращении к нему было все ок, но после перевода он null теперь

Что то поменялось в использовании?
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Nikita Rysin
Всем привет.

Такой вопрос, начал перевод проекта под androidx, ранее была moxy 1.4.5
implementation 'com.arello-mobile:moxy:1.4.5'
   implementation 'com.arello-mobile:moxy-app-compat:1.4.5'
   annotationProcessor 'com.arello-mobile:moxy-compiler:1.4.5'
   implementation 'com.arello-mobile:moxy-android:1.4.5'
   kapt 'com.arello-mobile:moxy-compiler:1.4.5'

Cейчас поставил 2.2.1
implementation 'com.github.moxy-community:moxy:2.2.1'
annotationProcessor 'com.github.moxy-community:moxy-compiler:2.2.1'
kapt 'com.github.moxy-community:moxy-compiler:2.2.1'


Ранее в коде была такая связка
У фрагмента просто был вызов
@InjectPresenter
TestPresenter presenter;
и при обращении к нему было все ок, но после перевода он null теперь

Что то поменялось в использовании?
не нужно kapt и annotationProcessor одновременно использовать
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Nikita Rysin
Всем привет.

Такой вопрос, начал перевод проекта под androidx, ранее была moxy 1.4.5
implementation 'com.arello-mobile:moxy:1.4.5'
   implementation 'com.arello-mobile:moxy-app-compat:1.4.5'
   annotationProcessor 'com.arello-mobile:moxy-compiler:1.4.5'
   implementation 'com.arello-mobile:moxy-android:1.4.5'
   kapt 'com.arello-mobile:moxy-compiler:1.4.5'

Cейчас поставил 2.2.1
implementation 'com.github.moxy-community:moxy:2.2.1'
annotationProcessor 'com.github.moxy-community:moxy-compiler:2.2.1'
kapt 'com.github.moxy-community:moxy-compiler:2.2.1'


Ранее в коде была такая связка
У фрагмента просто был вызов
@InjectPresenter
TestPresenter presenter;
и при обращении к нему было все ок, но после перевода он null теперь

Что то поменялось в использовании?
Гайд по миграции прочитайте в вики
источник
2021 February 05

NI

Nikita Ilyasov in Moxy – MVP библиотека под Android
народ, есть у кого-то пример использования презентера с аргументами (которые приходят из bundle фрагмента/активити) и dagger? как правильно заинжектить эти аргументы в презентер?
источник

P

Pavel in Moxy – MVP библиотека под Android
AssistedInject
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Nikita Ilyasov
народ, есть у кого-то пример использования презентера с аргументами (которые приходят из bundle фрагмента/активити) и dagger? как правильно заинжектить эти аргументы в презентер?
в компонент через Component.Builder/Component.Factory можно добавить любые параметры, которые потом можно использовать для инжекта внутри скоупа
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Pavel
AssistedInject
фуфуфу, осуждаю
источник

P

Pavel in Moxy – MVP библиотека под Android
Aleksey D.
фуфуфу, осуждаю
Почему?
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Pavel
Почему?
даггер и без того ужасно простой, незачем его усложнять какими-то неконтролируемыми кодогенами
источник

AS

Alex Suvorov in Moxy – MVP библиотека под Android
Aleksey D.
даггер и без того ужасно простой, незачем его усложнять какими-то неконтролируемыми кодогенами
Даггер простой?
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Nikita Ilyasov
народ, есть у кого-то пример использования презентера с аргументами (которые приходят из bundle фрагмента/активити) и dagger? как правильно заинжектить эти аргументы в презентер?
добавим пример в sample когда-нибудь, но основные варианты это AssistedInject и Сomponent.Factory, да.
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Alex Suvorov
Даггер простой?
более чем
источник

D

Dmitriy in Moxy – MVP библиотека под Android
Nikita Ilyasov
народ, есть у кого-то пример использования презентера с аргументами (которые приходят из bundle фрагмента/активити) и dagger? как правильно заинжектить эти аргументы в презентер?
    private val presenter by moxyPresenter {
       DaggerTaskPresenterComponent.builder()
           .appComponent(App.appComponent)
           .taskId(taskId)
           .build()
           .presenter
   }

   private var taskId: Long = 0

   override fun onCreate(savedInstanceState: Bundle?) {
       taskId = (savedInstanceState ?: arguments)?.getLong(TASK_ID) ?: 0
       super.onCreate(savedInstanceState)
   }

+
@Component(dependencies = [AppComponent::class])
interface TaskPresenterComponent {
   val presenter: TaskPresenter

   @Component.Builder
   interface Builder {
       fun build(): TaskPresenterComponent

       fun appComponent(appComponent: AppComponent): Builder

       @BindsInstance
       fun taskId(@Named(TaskPresenter.TASK_ID) id: Long): Builder
   }
}

достаточно такого?
источник

D

Dmitriy in Moxy – MVP библиотека под Android
код старый, можно ругать кривизну😁😁
источник

P

Pavel in Moxy – MVP библиотека под Android
Дело вкуса, наверное.
Мы активно используем AssistedInject. С т.з. архитектуры - довольно-таки удобно. Иногда даже когда лень писать свою фабрику, делаем конструктор assisted и функцию создания без параметров :) Фабрика автоматом попадает в граф зависимостей.
источник

NI

Nikita Ilyasov in Moxy – MVP библиотека под Android
Alex Suvorov
Даггер простой?
Hilt точнее
источник