4
7/23/2019 Barra de Progreso Con Un Asynctask http://slidepdf.com/reader/full/barra-de-progreso-con-un-asynctask 1/4 BARRA DE PROGRESO CON UN  ASYNCTASK 22 octubre, 2011 · de Javier Hdez. · en Android. · Lo primero, crear el elemento ProgressBar !a sea desde el "ml o con c#digo Java$, en este caso desde el "ml%  <ProgressBar android:max="100"  android:id="@+id/progressbar1"  android:layout_widt="!ill_parent"  android:layout_eigt="wrap_ontent"  style="#android:attr/progressBar$tyle%ori&ontal"  android:'isibility="in'isible"/( &sto no 'ace nada, solo mostrar en la pantalla una barra de progreso 'orizontal completada android%ma"()100*$, para +ue 'aga su trabao tendr-amos +ue aadir un /'read Hilo de eecuci#n$ para poder eecutar la tarea en segundo plano ! liberar los componentes de la . &n Android e"iste el /'read al igual +ue en Java$ pero si lo utilizramos para esta tarea no podr-amos crear otros obetos de la vista, para resolver este problema e"isten el As!nc/as3 ! el 4ervice, en este caso utilizaremos el As!nc/as3. Bueno para ello creamos una clase p5blica dentro de nuestra Activit!$ +ue e"tienda de As!nc/as3 e implementamos los m6todos a sobreescribir, algo as-%  publi lass asyn)as*ProgressBar extends syn)as*<,oid- .nteger- ,oid(  

Barra de Progreso Con Un Asynctask

Embed Size (px)

Citation preview

Page 1: Barra de Progreso Con Un Asynctask

7/23/2019 Barra de Progreso Con Un Asynctask

http://slidepdf.com/reader/full/barra-de-progreso-con-un-asynctask 1/4

BARRA DE PROGRESO CON UN

 ASYNCTASK

22 octubre, 2011 · de Javier Hdez. · en Android. ·

Lo primero, crear el elemento ProgressBar !a sea desde el "ml o con c#digo Java$, en este caso

desde el "ml%

  <ProgressBar

android:max="100"

  android:id="@+id/progressbar1"

  android:layout_widt="!ill_parent"

  android:layout_eigt="wrap_ontent"

  style="#android:attr/progressBar$tyle%ori&ontal"

  android:'isibility="in'isible"/(

&sto no 'ace nada, solo mostrar en la pantalla una barra de progreso 'orizontal completada

android%ma"()100*$, para +ue 'aga su trabao tendr-amos +ue aadir un /'read Hilo de

eecuci#n$ para poder eecutar la tarea en segundo plano ! liberar los componentes de la . &n

Android e"iste el /'read al igual +ue en Java$ pero si lo utilizramos para esta tarea no

podr-amos crear otros obetos de la vista, para resolver este problema e"isten el As!nc/as3 ! el

4ervice, en este caso utilizaremos el As!nc/as3.

Bueno para ello creamos una clase p5blica dentro de nuestra Activit!$ +ue e"tienda de

As!nc/as3 e implementamos los m6todos a sobreescribir, algo as-%

 publi lass asyn)as*ProgressBar extends syn)as*<,oid- .nteger- ,oid(

 

Page 2: Barra de Progreso Con Un Asynctask

7/23/2019 Barra de Progreso Con Un Asynctask

http://slidepdf.com/reader/full/barra-de-progreso-con-un-asynctask 2/4

  @'erride

  proteted 'oid onPostxeute2,oid result3

  progressBar4set,isibility2,iew4.5,.$.B637

)oast4ma*e)ext2getppliation8ontext23-

get$tring294string4tarea_!inali&ada3- )oast465)%_6534sow237

  6og4i2log)ag- ")area reali&ada "37

  ;

  @'erride

  proteted 'oid onPrexeute23

  progressBar4set,isibility2,iew4,.$.B637

  ;

  @'erride

  proteted 'oid onProgresspdate2.nteger444 'alues3

Page 3: Barra de Progreso Con Un Asynctask

7/23/2019 Barra de Progreso Con Un Asynctask

http://slidepdf.com/reader/full/barra-de-progreso-con-un-asynctask 3/4

  progressBar4setProgress2'alues0>37

  ;

  @'erride

  proteted ,oid do.nBa*ground2,oid444 arg03

progressBar4setProgress2?37

try

i!2mail4en'iar233

progressBar4setProgress210037

4!stem7loc3.sleep100037

;

; at 2xeption e3

6og4e2log)ag- "%ubieron

errores al reali&ar la tarea"- e37

progressBar4setProgress2037

; at 2)rowable e3

Page 4: Barra de Progreso Con Un Asynctask

7/23/2019 Barra de Progreso Con Un Asynctask

http://slidepdf.com/reader/full/barra-de-progreso-con-un-asynctask 4/4

e4print$ta*)rae237

;

return null7;

;

&l m6todo onPre&"ecute se eectua antes de donBac3ground, por lo +ue en ese momento

'acemos visible nuestra barra de progreso cuando 'a!amos instanciado nuestro obeto

as!nc/as3ProgressBar. onPost&"ecute es todo lo contrario, lo utilizaremos para cuando termine la

tarea programada en donBac38round.

onProgressdate nos va a!udar a actualizar nuestra barra de progreso, tan solo tendremos +ue ir

aadi6ndolo en nuestro c#digo ! pasarle un entero como parmetro para indicarle el progreso. Lo

podemos aadir en la misma Activit! en la +ue estamos trabaando o en otras Activities como enclases Java de la siguiente 9orma%

progressBar.setProgressint$:

As- +uedar ms real nuestra barra de progreso, se ir actualizando a medida +ue se eecuta la

tarea programada.

;o olvidar +ue 'a! +ue 'acer el obeto progressBar como p5blico ! esttico para poder

manearlo en las otras Activities o clases Java para +ue el <& no muestre errores.

&l uso de 4!stem7loc3 es para +ue despu6s de completarse la barra como luego la 'ago

invisible$ se +uede mostrndose durante un segundo para +ue el usuario pueda verla, de lo

contrario ocurrir-a tan rpido +ue no podr-a apreciarse el progreso al 100=.