Android - données XML Web instruction FETCH (avec AsyncTask) et problème lié Progressbar

StackOverflow https://stackoverflow.com/questions/3715179

  •  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?

Était-ce utile?

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;
        }

    }

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top