Domanda

Sto lavorando con Android 3.0 e 3.1. Io uso la classe AndroidHttpClient nella mia applicazione e per l'esecuzione di uso execute (HttpUriRequest).

Ho una barra di avanzamento nell'interfaccia utente che voglio essere aggiornato durante l'invio dei dati. C'è un modo per ottenere le notifiche dal AndroidHttpClient sullo stato di avanzamento dei dati di invio (credo che non invia l'intero buffer in un solo colpo)?

Grazie

È stato utile?

Soluzione

Per monitorare lo stato di avanzamento dei dati viene inviato al server si deve avvolgere l'entità HTTP sottostante che è stato inviato. Se sottoclasse HttpEntityWrapper e di esclusione writeTo() si può wrapper OutputStream con un FilterOutputStream che è il flusso di essere scritte nel server.

Altri suggerimenti

Credo che tu debba AsyncTask esempio, può essere che vi aiuterà a ::

  private class xyz extends AsyncTask<Void, Void, Void> {
            private final ProgressDialog dialog = new ProgressDialog(tranning.this);
            @Override
            protected void onPreExecute() {
                this.dialog.setMessage("Please Wait...");
                this.dialog.show();

                // put your code which preload with processDialog  
            }

            @Override
            protected Void doInBackground(Void... arg0) {

                // put you code here


                return null;
            }
            @Override
            protected void onPostExecute(final Void unused) {
                //if (this.dialog.isShowing()) {
                //  this.dialog.dismiss();

                //}

            }
        }

e utilizzarlo nella vostra classe principale ::

 new xyz().execute();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top