2017-02-21 73 views
1

我对Android开发比较陌生,至今我一直在阅读Android中的MVP架构。我想在我的项目中开始实施它,主要是为了它提供的解耦和测试优势。Android绑定服务和MVP设计模式?

现在我正在使用Intent Services来对API进行GET和POST REST调用。它使用ResultReceivers将调用结果(数据,错误等)直接打包到Activity/Fragment中。我想重构这个,但我仍然不确定如何继续。

我想使用BoundService,因为用户可以在活动处于前台时进行多个调用,并且我认为使模型类使用BoundService公开的接口更为简单。但是,由于BoundService正在进行网络调用,因此我必须关闭UI线程(例如,使用AsyncTask)。这是我比任何事情都困难的地方。异步任务属于哪里?演示者需要处理和响应不同的错误/异常,并为每个场景调用适当的视图方法。我正在考虑创建一些包装类来询问AsyncTask的onPostExecute()方法中的异常/错误,但我也认为这种问题可能以前出现过,因此这个问题。

有没有人有任何建议 Android的解决方案呢?您可以提供给我的任何建议或建议?我在网上搜索,我发现很难。我发现大多数人没有网络电话的例子,如果他们这样做,他们使用第三方库。

回答

-2

您还可以使用此作为一个优秀的图书馆Retrofit2

,而不是发明一种自行车

+0

感谢您的答复,但我特别是寻找如何服务可以在MVP模式中使用。由于我们无法在主线程上调用网络调用,因此我们需要使用其他一些机制来执行此操作。如果这种机制(如AsyncTask)存在于MVP中,我可以根据MVP模式使用某些方向或引用 – JPM