У меня проблема. У меня есть asynctask, в котором я подключаюсь к веб-сервису, доставляю данные и помещаю их в базу данных. Это нормально, это работает. Но у меня есть проблема, я хочу поставить индикатор выполнения после нажатия кнопки ОБНОВИТЬ (то есть, когда я делаю веб-службу) ..
Когда я обновляюсь, это занимает 2 секунды, пока мой экран завис, и после этого немного запускается индикатор выполнения, а затем исчезает, но такты выполняются до запуска индикатора выполнения.
Вот код асинктаски
private class tareaActualizar extends AsyncTask<Void, Void, Boolean> {
private static final String DEBUG_TAG = "actualizo";
private ProgressDialog pd = new ProgressDialog(ShamanOperativoActivity.this);
@Override
protected void onCancelled() {
Log.i(DEBUG_TAG, "onCancelled");
pd.dismiss();
}
@Override
protected void onPostExecute(Boolean result) {
Log.i(DEBUG_TAG, "onPostExecute");
pd.dismiss();
}
@Override
protected void onPreExecute() {
pd.setMessage("Actualizando...");
pd.show();
}
@Override
protected void onProgressUpdate(Void... values) {
}
@Override
protected Boolean doInBackground(Void... params) {
webService();
tv2 = resultado.toString(); //Obtengo el string resultado del WebService en tv2
//Obtengo la hora actual
insertoEnBD();
// Inserto en base de datos (Si es que pase por el Web Service)
Boolean res = true;
return res;
}
}
Веб-сервис - это метод подключения веб-сервиса, а "InsertoBD" - это когда я помещаю данные в базу данных ... спасибо