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