Android 连续启动多个任务

Android 连续启动多个任务,android,android-asynctask,http-post,Android,Android Asynctask,Http Post,我想通过http保存某些信息。这些信息持续存储在本地数据库(sqlite)中,并且每隔一段时间将其保存在服务器(HttpPost)中 如何按表中的每个数据分别保存发布任务的信息?如果可能的话,保持秩序 因此,我启动了一个任务,并且工作得非常完美(当然,代码是通用的) (我希望我的英语是正确的) void SaveDataOnServer() { String data=db.getFirstData(); task=新的SaveItemTask(); 任务执行(数据); //如果我有,比如说,5

我想通过http保存某些信息。这些信息持续存储在本地数据库(sqlite)中,并且每隔一段时间将其保存在服务器(HttpPost)中

如何按表中的每个数据分别保存发布任务的信息?如果可能的话,保持秩序

因此,我启动了一个任务,并且工作得非常完美(当然,代码是通用的)

(我希望我的英语是正确的)

void SaveDataOnServer()
{
String data=db.getFirstData();
task=新的SaveItemTask();
任务执行(数据);
//如果我有,比如说,5个数据,那么最好连续启动5行(for,while…)?
}
公共类SaveItemTask扩展了AsyncTask
{
受保护的布尔doInBackground(字符串…参数)
{
...     
HttpClient=new DefaultHttpClient();
HttpPost consult=新的HttpPost(url+“?x=“+param[0]);
//发出HTTP POST请求
尝试
{
HttpResponse response=client.execute(consult);
HttpEntity=response.getEntity();
...
}
抓住。。。
}
....
@凌驾
受保护的void onPostExecute(最终布尔值成功)
{
...
如果(成功)
{
//更新行(在服务器上设置saved=true)
} 
...
}

该任务只能执行一次(如果 尝试第二次执行。)


因此,要么每次重新创建SaveItemTask对象,要么修改SaveItemTask以执行HttpPost的目标次数。

//如果我有,比如说,5个数据,最好连续启动5行。
。很好。正如您所说,可以使用for或while循环。
void SaveDataOnServer()
{
    String data = db.getFirstData();
    task = new SaveItemTask();
    task.execute(data);

    //if I have, say, 5 data, it would be nice to launch 5 row consecutive (for, while...)? 

}

public class SaveItemTask extends AsyncTask<String, Void, Boolean> 
{
    protected Boolean doInBackground(String... param) 
    {
        ...     
        HttpClient client = new DefaultHttpClient();
        HttpPost consult = new HttpPost(url + "?x=" + param[0]); 

        //making an HTTP POST request
        try 
        {
            HttpResponse response = client.execute(consult);
            HttpEntity entity = response.getEntity();
            ...
        }
        catch...
}

....

@Override
protected void onPostExecute(final Boolean success) 
{
    ...
    if (success)
    {
        //Update row (set saved onserver=true)
    } 
    ...
}