#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 или нет.