我想通过http保存某些信息。此信息会持续存储在本地数据库(sqlite)中,并且每隔一段时间就将其保存在服务器(HttpPost)中。
如何通过我的表中的每个数据单独保存信息释放任务?如果可能,有条不紊地进行。
因此,我启动一项任务并完美运作(当然,代码是通用的)
(我希望我的英语是对的)
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)
}
...
}
答案 0 :(得分:0)
http://developer.android.com/reference/android/os/AsyncTask.html
任务只能执行一次(如果是,则会抛出异常 尝试第二次执行。)
因此,每次重新创建SaveItemTask对象时,要么修改SaveItemTask以便执行HttpPost目标次数。