Mostrar barra de progreso durante la descarga

Quiero mostrar una barra de progreso mostrando el porcentaje completado mientras mi aplicación está descargando algunos archivos grandes a través de Internet. algo como esto : Introduzca aquí la descripción de la imagen

Código de archivo xml:

<ProgressBar android:id="@+id/xml_reg_progressBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/common_left_right_margin" android:layout_marginRight="@dimen/common_left_right_margin" android:layout_marginTop="@dimen/reg_ph_linear_top_margin" /> 

Usted puede cambiar el estilo del progressbar según su requisito.

Este es el código de archivo java:

  protected static final int TIMER_RUNTIME = 180000; // in ms --> 10s private ProgressBar progressTimer; public void startTimer() { final Thread timerThread = new Thread() { @Override public void run() { mbActive = true; try { int waited = 0; while (mbActive && (waited < TIMER_RUNTIME)) { sleep(1000); if (mbActive) { waited += 1000; updateProgress(waited); } } } catch (InterruptedException e) { // do nothing } finally { onContinue(); } } }; timerThread.start(); } Handler handler = new Handler(); private void onContinue() { handler.post(new Runnable() { @Override public void run() { txtCallContactUsNumber .setText(CommonVariable.CallForSupporMessage + contactInfo.MobileNo); } }); } public void updateProgress(final int timePassed) { if (null != progressTimer) { // Ignore rounding error here final int progress = progressTimer.getMax() * timePassed / TIMER_RUNTIME; handler.post(new Runnable() { @Override public void run() { Log.i("timePassed", "timePassed=" + timePassed); DateFormat formatter = new SimpleDateFormat("mm:ss"); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timePassed); String timer = formatter.format(calendar.getTime()); formatter.setTimeZone(java.util.TimeZone.getTimeZone("GMT")); txtTimerCount.setText(formatter.format(timePassed)); } }); progressTimer.setProgress(progress); } } 

En mi código esto llamará 1 segundo y obtendrá incremento de progreso cada 1 segundo.

Puede lograr esto utilizando una barra de progreso de dos maneras.

1.Añadir una barra de progreso (el círculo uno) para actuar como un indicador de carga.

Para hacer esto simple mostrar una barra de progreso en el inicio de la descarga de la imagen progressbar.show(); Una vez finalizada la descarga, desactiva la barra de progreso progressbar.dismiss();

Puede utilizar AsyncTask para esto

Referir este enlace

2.Añadir una barra de progreso (el tipo de barra rectangular) para mostrar el progreso de la descarga o lo que sea.

Yo te recomiendo que pases por este enlace ..

Consulte estos enlaces:

http://examples.javacodegeeks.com/android/core/ui/progressdialog/android-progressdialog-example/

Mostrar ProgressDialog Android

Claramente, explica cómo implementar ProgressBar o ProgressDialog

Aquí hay una buena biblioteca para ProgressDialog personalizada:

https://github.com/passsy/android-HoloCircularProgressBar

https://github.com/Todd-Davies/ProgressWheel

Debe utilizar la barra de progreso. Supongo que para descargar el archivo que está utilizando Asynctask, si no lo eres, te recomiendo que lo hagas. La tarea asíncrona tiene dos métodos más fríos además del

DoInBackground ()

Son

PreExecute y postExecute

Puede anular este método, ahora crear una barra de progreso simple e iniciarlo en preExecute y terminarlo en el método postExecute. Aquí está el enlace de trabajo

  • ¿Cuál es la diferencia entre Progressbar y ProgressDialog?
  • ¿Cómo dar una barra de progreso para la descarga?
  • Barra de progreso de Android en el botón
  • Android Indeterminado ProgressBar no gira
  • Android: ¿Cómo puedo mostrar la barra de progreso al cargar datos en WebView?
  • Fondo circular de ProgressBar: Android Xamarin
  • AsyncTask, Fragmentos, Vistas y Backstacks
  • ¿Cómo puedo hacer una barra de progreso personalizada en la barra de acción?
  • ¿Por qué no está setVisibility trabajando en Android ProgressBar?
  • Mostrando la barra de progreso y cargando la imagen en splash en android
  • ¿Cómo eliminar el número de barra de progreso en la parte inferior de la barra de progreso?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.