Шаблон проектирования MVP AsyncTask URLConnection

#java #android-asynctask #httpurlconnection #mvp

#java #android-asynctask #httpurlconnection #mvp

Вопрос:

Это моя первая программа, следующая шаблону проектирования MVP, и я новичок в JAVA.

Я пишу простое действие для входа в систему. Мне нужно получить доступ к данным из базы данных через API. Для этой цели я использую метод HttpURLConnection в подклассе AsyncTask.

Вот моя проблема: где я должен написать подкласс AsyncTask (класс модели, класс презентатора, класс MainActivity)?

С уважением,

Chefty.

Ответ №1:

Насколько я понимаю, ваша база данных не является частью приложения, а удаляет сервер. Таким образом, в этом случае асинхронная задача выполнит вызов api и обновит модель вашего приложения.

Поток будет выглядеть следующим образом:

(просмотр) -[1 нужны данные для отображения] -> (докладчик) -[2 запрашивают данные] -> (модель) -> [3 выполняют асинхронный запрос на сервер]

Ваша асинхронная задача — номер 3

Комментарии:

1. Спасибо за ответ. Еще одна вещь. Должно быть, я что-то неправильно понял. Я не вижу, где я должен выполнить асинхронную задачу. Если я сделаю это в своем классе Presenter, будет сложно получить информацию о состоянии соединения, и то же самое, если я выполняю в классе Model…

2. @Chefty вы приняли трудное решение начать изучать Android и mvp, потому что его очень сложно написать с использованием этого шаблона без специальных библиотек

3. Я знаю, но я действительно хочу создать свое приложение на прочной основе. Я видел, что MVP является одним из наиболее оптимальных и используемых в разработке Android. Более того, прочитав документацию, я предпочел его шаблону MVC, который я уже знал. Вы говорите о библиотеках, таких как Nucleus или ThirtyInch?

4. @Chefty Я о сочетании Dagger, модернизации, RxJava, Retrolambda и androidviewmodel

5. Хорошо, я понял. Еще раз спасибо за вашу помощь, я посмотрю, смогу ли я продолжить свое приложение в MVP design или нет.