2016-03-08 38 views
0

在我的应用程序中,我需要将数据库与服务器同步,其中大量记录(大约300k)。我正在使用分页概念在我的应用程序中使用AsyncTask和http连接doInBackground()下载数据。我想同时下载页面并保存到数据库中。在下面的循环中运行AsynTask是否是一种好方法,或者有更好的方法来做到这一点吗?如何在循环中运行Synctask

for (int i = 0 ;i <totalPage ; i++){ 
    updateRecords(i); 
} 

private void updateRecords(int page) { 

    UpdateRecordsAsyncTask updateRecordsAsyncTask = new UpdateRecordsAsyncTask(this, mContext); 
    updateRecordsAsyncTask.setAsyncErrorListener(this); 
    updateRecordsAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, Param); 
} 
+0

是的,你绝对可以从循环调用异步任务,但我只是怀疑,你有你的任务的回调,这将让你知道,所有页面都成功下载并存储在数据库中。因为它可能发生,你有100页,100异步任务将运行,并意味着当你试图访问仍然没有下载的数据,如果你有解决方案,那么你的方法工作正常。 –

回答