Не совсем понимаю, правильно ли я все делаю, и при переписывании приложения, не мог разобраться где Thread писать...
Я прочитал, что в модель подключается куда-то, получает оттуда данные, что-то с ними делает, то есть модель имеет методы: получить данные, обработать данные, отдать данные.
Вью реагирует на события на экране показывая сообщения.
Презентер реагирует на вызываемые методы во вью, забирая данные из вью на обработку в модель и отдавая уже обработанные моделью данные.
Попытавшись реализовать что-то подобное, вот такая картина у меня вышла:
VIEW
class MainActivity : AppCompatActivity(),TIView {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val tpresenter=Presenter(this)
tpresenter.giveResult()
}
override fun showResult(message: String) {
runOnUiThread {
tvText.setText(message)
}
}
}
PRESENTER
class Presenter(val tiView: TIView) {
val tmodel=TModel()
fun giveResult(){
Thread{
tiView.showResult(tmodel.getTitle())
}.start()
}
}
MODEL
class TModel {
fun getTitle():String{
val document= Jsoup.connect("example").get()
return document.title()
}
}