2017-02-21 45 views
1

Я относительно новичок в разработке Android, и в последнее время я читаю, глядя на архитектуру MVP в Android. Я хотел бы начать внедрять его в своих проектах, в первую очередь, для преимуществ развязки и тестирования, которые он предоставляет.Android Bound Services и шаблоны проектирования MVP?

Сейчас я работаю над проектом, который использует Intent Services для совершения вызовов GET и POST REST в API. Он использует ResultReceivers для пакетной обработки результатов вызовов (данных, ошибок и т. Д.) Непосредственно в Activity/Fragment. Я хотел бы реорганизовать это, но я все еще не уверен, как действовать дальше.

Я хотел бы использовать BoundService, так как пользователь может совершать несколько вызовов во время действия на переднем плане, и я думаю, что это более чистый подход, чтобы класс модели использовал интерфейс, открытый BoundService. Тем не менее, поскольку BoundService выполняет сетевой вызов, мне нужно сделать вызов из потока пользовательского интерфейса (например, с помощью AsyncTask). Здесь я больше всего зацикливаюсь. Где находится задача Async? Ведущий должен обрабатывать и реагировать на различные ошибки/исключения и вызывать соответствующие методы просмотра для каждого сценария. Я думал о создании своего рода класса-оболочки для опроса для исключений/ошибок в методе onPostExecute() AsyncTask, но я также думал, что такая проблема, вероятно, возникла для других, прежде чем, следовательно, этот вопрос.

У кого-нибудь есть предложения по поводу pure Android-решение для этого? Любые предложения или советы, которые вы можете мне предоставить? Я искал в Интернете, и мне трудно найти время. Большинство из них, которые я нахожу, не имеют примеров сетевых вызовов, и если они это делают, они используют сторонние библиотеки.

ответ

-2

Вы также можете использовать это как прекрасная библиотека Retrofit2

И не изобретать велосипед

+0

Спасибо за ваш ответ, но я специально искал, как услуги могут быть использованы в MVP шаблона. Поскольку мы не можем вызывать сетевой вызов в основном потоке, нам нужно использовать какой-то другой механизм для этого. Где этот механизм (например, AsyncTask) живет в MVP, где я мог бы использовать какое-либо направление или ссылки в рамках шаблонов MVP – JPM

 Смежные вопросы

  • Нет связанных вопросов^_^