Я разработчик Android и использую MVP при разработке своих приложений.Недавно я получил слово от Insert-Koin, и мне это нравится, чем больше я его использую.Однако при преобразовании моего приложения для использования Koin мне нужно передать интерфейс представления активности докладчику, в результате чего это не означает, что мне нужно также вводить свою активность?Я посмотрел на пример MVP, и он не очень понятен, так как они не передают интерфейс вида деятельности напрямую, вместо этого это делается через объект RxPresenter (без понятия).
Буду признателен за разъяснение о том, как вводитьинтерфейс представления действий для моего докладчика.
Вот докладчик из примера кода MVP: https://github.com/InsertKoinIO/koin/tree/master/koin-projects/examples/android-mvp/src/main/kotlin/fr/ekito/myweatherapp/view/detail
class DetailPresenter(
private val id: String,
private val weatherRepository: WeatherRepository,
private val schedulerProvider: SchedulerProvider
) : RxPresenter<DetailContract.View>(), DetailContract.Presenter {
override var view: DetailContract.View? = null
override fun getDetail() {
launch {
weatherRepository.getWeatherDetail(id).with(schedulerProvider).subscribe(
{ detail ->
view?.showDetail(detail)
}, { error -> view?.showError(error) })
}
}
}
затем действие:
class DetailActivity : AppCompatActivity(), DetailContract.View {
// Detail id passed by argument
private val detailId by argument<String>(ARG_WEATHER_ITEM_ID)
override val presenter: DetailContract.Presenter by inject { parametersOf(detailId) }
Гдедействительно назначено «представление»?!?
Приветствия!