我对Android开发比较陌生,至今我一直在阅读Android中的MVP架构。我想在我的项目中开始实施它,主要是为了它提供的解耦和测试优势。Android绑定服务和MVP设计模式?
现在我正在使用Intent Services来对API进行GET和POST REST调用。它使用ResultReceivers将调用结果(数据,错误等)直接打包到Activity/Fragment中。我想重构这个,但我仍然不确定如何继续。
我想使用BoundService,因为用户可以在活动处于前台时进行多个调用,并且我认为使模型类使用BoundService公开的接口更为简单。但是,由于BoundService正在进行网络调用,因此我必须关闭UI线程(例如,使用AsyncTask)。这是我比任何事情都困难的地方。异步任务属于哪里?演示者需要处理和响应不同的错误/异常,并为每个场景调用适当的视图方法。我正在考虑创建一些包装类来询问AsyncTask的onPostExecute()方法中的异常/错误,但我也认为这种问题可能以前出现过,因此这个问题。
有没有人有任何建议纯 Android的解决方案呢?您可以提供给我的任何建议或建议?我在网上搜索,我发现很难。我发现大多数人没有网络电话的例子,如果他们这样做,他们使用第三方库。
感谢您的答复,但我特别是寻找如何服务可以在MVP模式中使用。由于我们无法在主线程上调用网络调用,因此我们需要使用其他一些机制来执行此操作。如果这种机制(如AsyncTask)存在于MVP中,我可以根据MVP模式使用某些方向或引用 – JPM