Size: a a a

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

2020 November 23

P

Pavel in Moxy – MVP библиотека под Android
Ох. Не надо делать Inject в поля в презентере. Лучше делать inject в конструктор. Почитайте про constructor injection.
источник

P

Pavel in Moxy – MVP библиотека под Android
Inject в поля - это крайняя мера, т.к. в актвити/фрагменты нельзя инжектить в конструктор.
источник

P

Pavel in Moxy – MVP библиотека под Android
Строго говоря, с фрагментом ещё можно извратиться (через кастомные фабрики). Но с активити - никак.
источник

I

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

I

Isak in Moxy – MVP библиотека под Android
вот так правильно да?
источник

I

Isak in Moxy – MVP библиотека под Android
в сервер методе теперь ошибка вылезла 😰
источник

P

Pavel in Moxy – MVP библиотека под Android
Isak
вот так правильно да?
inject(this). И в презентере тоже inject(this) в конструкторе, если не хотите constructor injection
источник

I

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

P

Pavel in Moxy – MVP библиотека под Android
Но я бы настоятельно рекомендовал делать constructor injection. Тогда презентер не будет знать о компоненте и не будет нужды делать поля package private.
источник

P

Pavel in Moxy – MVP библиотека под Android
Вот так выглядит constructor injection
источник

P

Pavel in Moxy – MVP библиотека под Android
В этом случае не нужно делать inject(this) в презентере.
источник

AS

Alex Suvorov in Moxy – MVP библиотека под Android
Aleksey D.
так не используйте даггер
#offtop
koin проще и удобнее :))))
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
Alex Suvorov
#offtop
koin проще и удобнее :))))
Dagger2 ❤️
источник

AD

Aleksey D. in Moxy – MVP библиотека под Android
так с таким презентером @ProvidePresenter вообще не нужен будет)
источник

I

Isak in Moxy – MVP библиотека под Android
Alex Suvorov
#offtop
koin проще и удобнее :))))
Да😅
источник
2020 November 25

L

Leo in Moxy – MVP библиотека под Android
Привет 🤚
А с чем может быть связаны такие проблемы:
1. Количество вызовов attach() увеличивается с каждым переворотом?
Т.е. вначале 1 раз, после 3 переворотов - 4 раза.
2. Если вызвать viewState из onFirstViewAttach() с использованием стратегии AddToEndSingleStrategy (именно  Single) - также увеличивается количество вызовов view?
При этом, SkipStrategy работает как должен.
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Leo
Привет 🤚
А с чем может быть связаны такие проблемы:
1. Количество вызовов attach() увеличивается с каждым переворотом?
Т.е. вначале 1 раз, после 3 переворотов - 4 раза.
2. Если вызвать viewState из onFirstViewAttach() с использованием стратегии AddToEndSingleStrategy (именно  Single) - также увеличивается количество вызовов view?
При этом, SkipStrategy работает как должен.
Скорее всего неправильно создаете презентер, покажите код
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
А может вы фрагменты добавляете после поворота)
источник

L

Leo in Moxy – MVP библиотека под Android
Во фрагменте пытаюсь провайдить заинжекченый даггером:

class CalcFragment : BaseMvpFragment<CalcMvpView, CalcPresenter>(), CalcMvpView{

   @Inject lateinit var lazyPresenter: Lazy<P>
   @InjectPresenter lateinit var presenter: CalcPresenter
   @ProvidePresenter fun providePresenter(): CalcPresenter = lazyPresenter.get()

}


Презентер:

@InnjectViewState
class CalcPresenter (...) : BasePresenter<CalcMvpView>() {
   
}


И даггер модули:
@Module
class CalcModule {

   @Provides
   @FragmentScope
   fun providePresenter(...) = CalcPresenter()
}


@Module
abstract class AppContainerInjectors {

   @FragmentScope
   @ContributesAndroidInjector(modules = [CalcModule::class])
   abstract fun calcFragment(): CalcFragment
}


abstract class AppModule {

   @Singleton
   @Binds
   @AppContext
   abstract fun bindAppContext(app: App): Context


   @Module
   abstract class Injectors {

       @ActivityScope
       @ContributesAndroidInjector(modules = [AppContainerInjectors::class])
       abstract fun appContainer(): AppContainer

   }
}
источник

AS

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