Android - Obtención de datos XML desde web (Usando AsyncTask) y el problema relacionado Progressbar
-
02-10-2019 - |
Pregunta
Estoy extraer una datos XML de la Web utilizando HTTP GET / POST. En este momento lo he hecho de manera simple (es decir, sin threaed).
De acuerdo con el siguiente enlace, he intentado poner en práctica con la barra de progreso de diálogo con hilo http://www.ceveni.com/ 2009/09 / muestra-progreso-bar-diálogo-en-android.html
Pero ¿Cómo llego a saber acerca de la hora de finalización de la captura de XML de la web. (Es decir, cuál debe ser el tiempo de sueño y también cuando para cerrar el cuadro de diálogo barra de progreso )
Permítanme aclarar más sobre mi problema => En la actividad, cuando el usuario haga clic en "Recoger datos" botón, el cuadro de diálogo "Barra de progreso" debería apareció y debe desaparecer sólo cuando se haya completado el ir a buscar con éxito.
Creo que esto se puede hacer con " AsyncTask ", pero no haga saber cómo utilizar este concepto para este problema.
Entonces, ¿cómo lo hago?
Solución
public void onClick() {
new FetchTask(context).execute(null);
}
public class FetchTask extends AsyncTask<Object, Object, Object > {
private ProgressDialog dlg;
private Context ctx;
public FetchTask(Context context) {
ctx = context;
}
@Override
protected void onPreExecute() {
dlg = new ProgressDialog(ctx);
dlg.setMessage("Loading....");
super.onPreExecute();
}
@Override
protected void onPostExecute(Object result) {
dlg.dismiss();
if ( result instanceof Exception ) {
// show error message
} else {
// display data
}
super.onPostExecute(result);
}
@Override
protected Object doInBackground(Object... params) {
try {
// String rawData = doPost("yourUrl");
// XMLTree data = yourParser.parse(rawData);
// return data;
} catch ( Exception e ) {
return e;
}
}
}