要保存到Database还是AsyncTask的IntentService?

时间:2016-12-02 23:03:19

标签: android-studio android-asynctask intentservice android-intentservice

目前我的应用程序的工作方式如下:

MainActivity调用WebService可能会下载数千个数据库记录。

接下来,WebServiceMainActivity发送一个回调,告诉它已完成下载以及数据。

然后,MainActivity调用DBHelper异步保存所有数据,然后onPostExecute()使用回调告诉MainActivity它已完成。

最后,从DBHelper获取回调后,MainActivity会以表格形式显示刚刚下载的所有数据。

简而言之:MainActivity->WebService->MainActivity->DBHelper->MainActivity

问题是,MainActivity相当杂乱,实施了所有这些回调,并且很难遵循。我想将下载/保存分离到一个单独的IntentService类中,并且由于IntentService在它自己的线程上运行,我将摆脱DBHelper中的异步任务,而只是告诉IntentService在{中完成保存{1}}函数底部的{1}}。我担心IntentService会以某种方式告知已完成保存,而实际上记录仍在保存中。

我想要合理的IntentService方法还是正确的方法?如果没有像上面描述的任何奇怪的副作用,它会工作吗?

0 个答案:

没有答案