Android - Recupero dati XML da web (Usando AsyncTask) e Progressbar problema correlato
-
02-10-2019 - |
Domanda
Io sono il recupero di dati XML dal Web usando HTTP GET / POST. In questo momento ho fatto in modo semplice (cioè senza threaed).
Secondo il collegamento sotto, ho cercato di attuarlo con finestra Barra di avanzamento con il filetto http://www.ceveni.com/ 2009/09 / campione-progress-bar-dialogo-in-android.html
Ma come faccio a venire a conoscere il tempo finale di recupero XML dal web. (Vale a dire quello che dovrebbe essere il tempo di sonno e anche quando per chiudere la finestra di avanzamento barra di dialogo )
vorrei chiarire meglio il mio problema => In attività, quando l'utente fa clic su "recuperare i dati" pulsante, la "barra di avanzamento" finestra di dialogo dovrebbe essere comparso e dovrebbe essere scomparire solo quando il recupero è completato con successo.
Credo che questo può essere fatto con " AsyncTask ", ma non so come utilizzare tale concetto per questo problema.
Allora, come posso fare?
Soluzione
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;
}
}
}