Android - données XML Web instruction FETCH (avec AsyncTask) et problème lié Progressbar
-
02-10-2019 - |
Question
Je suis une donnée aller chercher XML à partir du Web via HTTP GET / POST. En ce moment, je l'ai fait de manière simple (à savoir sans threaed).
Selon le lien ci-dessous, j'ai essayé de le mettre en œuvre avec dialogue Barre de progression avec filetage http://www.ceveni.com/ 2009/09 / échantillon-barre de progression Dialoguer en android.html
Mais comment est-ce que je viens de connaître l'heure d'arrivée de récupération du code XML à partir du Web. (Ie ce qui devrait être le temps de sommeil et aussi quand pour fermer la boîte de dialogue de barre de progression )
Laissez-moi effacer mon problème => Dans l'activité, lorsque l'utilisateur clique sur le bouton « Fetch données », la boîte de dialogue « Barre de progression » devrait être apparu et il devrait être disparaître que lorsque l'extraction est terminée avec succès.
Je pense que cela peut être fait avec « AsyncTask » mais ne savez pas comment utiliser ce concept pour ce problème.
Alors, comment puis-je faire?
La solution
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;
}
}
}