sábado, 4 de maio de 2013

Exemplo: Work fragment com thread e retainInstance

 Este é um exemplo interessante que retirei dos Samples do Android (ApiDemos).

 É o exemplo de um fragment que usa um work fragment (sem UI) que usa uma thread para simular um serviço de longa duração.
 É interessante por:
 -uso de um work fragment no lugar de um service ou de uma AsyncTask.
 -uso da opção setRetainInstance(true) para manter o fragment durante o processo de recriação da activity.
 -uso de uma thread com o ciclo de vida controlado pelo ciclo de vida dos fragments envolvidos.
 -técnica de construção de um work fragment thread-safe, com o uso do wait-notify.

 Seguem os códigos:

 fragment_retain_instance.xml



FragmentRetainInstance.java



Abraços

PS: O código abaixo deveria ter um tratamento diferente, a primeira linha deveria estar logo após criar o ProgressBar, e a seguinte deveria ser executada na UI Thread (p.e, com um runOnUiThread).
                        max = mProgressBar.getMax();
                        mProgressBar.setProgress(mPosition);






Nenhum comentário:

Postar um comentário