Он не имеет чувства пробегать много цикл открывая трэды и общаться с сервером в каждом из них, как это был очень большой цикл, будет не удаваться. Вместо этого ты можешь parsear этот список и посылать ее ему в сервер в единственном вызове.
Прочитай больше о AsyncTask, в самой документации у тебя есть какой-то пример, я рекомендовал бы тебе даже делать твои собственные примеры, ты это ориентируешь плохо.
Метод doInBackground берется за то, чтобы реализовывать все задания, что ты приказал его на втором плане, что и как он он полностью безразличный.
Ты должен иметь в виду, что AsyncTask
выполни трэд на втором плане твоего приложения. Он не состоит ни для чего рекомендуемо в том, что для каждого вставления в твоей базе данных ты веришь в нового hilo
на втором плане, оптимальное состоит в том, чтобы создавать асинхронное задание, которое пробегало бы все реестры и делало inserts
корреспонденты.
С AsyncTask
у тебя есть возможность посылания параметров в твое задание и манипулирования ими.
Порядок более или менее так
private class Insert extends AsyncTask<A, B, C>
Где:
doInBackground
Метод doInBackground
он для меня, более важно внутри асинхронного задания, так как он берется за то, чтобы выполнять весь твой код, здесь должна быть вся логика твоего задания второго плана. Следовательно ИМЕННО ЗДЕСЬ ты должен получать твою договоренность, объект, список данных, которых ты хочешь ввести в твоей базе данных. Именно здесь ты должен делать один for
чтобы пробегать их и вводить их.
Если в твоем случае это одна List<>
та, которую ты хочешь послать из-за параметра и обратиться должно бы быть
private class Insert extends AsyncTask<ArrayList<String>, B, C>
protected int doInBackground(ArrayList<String>... listaParametro) {
int result = 1;
try{
for (int i=0; i<listaParametro.size(); i++) {
System.out.println(listaParametro.get(i)); //Elemento iterado
}
}catch (Exception e){
result = 0;
}
return result;
}
onProgressUpdate
onPostExecute
Метод onPreExecute
он не приносит параметры, так как он работает перед тем, как инициализировать твое задание, ты можешь инициализировать переменные.