У меня есть список, который содержит элементы, и я хочу отправить каждый элемент моего списка отдельно на локальный сервер базы данных, используя RestTemplate в AsynkTask. Если я указываю, какой элемент я хочу отправить, я могу отправить его легко и работает с мой AsyncTask, но я хочу зациклить весь список и отправить все элементы один за другим в мою базу данных. Я попытался выполнить цикл for внутри моего AsyncTask, но это не сработало, я также попытался вызвать AsyncTask в за цикл "и опять ничего не происходит ..
это мой Asynctask с использованием RestTemplate
private class SendLigneVente extends AsyncTask<LigneVente, Void, LigneVente>{
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected LigneVente doInBackground(LigneVente... params) {
try {
HttpHeaders requestHeaders = new HttpHeaders();
//solution avec Token
requestHeaders.add("Content-Type","application/json");
requestHeaders.add("Accept", "application/json");
requestHeaders.add("Authorization","Bearer "+AuthToken);
final String url = StaticUrl+"/api/ligne-ventes";
RestTemplate restTemplate=new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
LigneVente lv=new LigneVente();
HttpEntity entity = new HttpEntity(lv, requestHeaders);
ResponseEntity<LigneVente> response = restTemplate.exchange(url, HttpMethod.POST,entity,LigneVente.class);
return response.getBody();
}catch (Exception e) {
Log.e("ScanActivity", e.getMessage(),e);
}
return null;
}
protected void onPostExecute(LigneVente result) {
}
}
и это когда я вызываю свой AsyncTask в цикле for:
public void onClick(View v) {
new CreateVente().execute();
for(int j=0;j<ligneVentes.size();j++){
LigneVente lv=ligneVentes.get(j);
new SendLigneVente().execute(lv);}}