2014-10-06 2 views
0

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

'// 데이터가 5 개인 경우, 연속 5 행을 시작하는 것이 좋을 것입니다. ' 그럼요. 당신이 말했듯이 for 또는 while 루프를 사용할 수 있습니다. – greenapps

답변

0

http://developer.android.com/reference/android/os/AsyncTask.html

작업 할 수있는 (내가 영어를 잘 희망) (코드는 물론 일반입니다) ( 두 번째 실행을 시도하면 예외가 throw됩니다.)

그래서 매번 SaveItemTask 개체를 다시 만들거나 HttpPost를 대상 횟수만큼 수행하기 위해 SaveItemTask를 수정하십시오.

관련 문제