Este post exemplifica uma necessidade que às vezes ocorre em um projeto: executar uma série de tarefas sequencialmente em uma thread.
Para fazer isso temos um recurso em Java que atende perfeitamente ao requisito acima: a estrutura Executor. Um executor é basicamente um gerenciador de threads e tarefas.
O exemplo consiste em executar uma série de tarefas numa única thread que é controlada por um executor. A tarefa vai ser representada por uma classe que vai implementar um Runnable (MyTask). Para não ficar invisível vamos atualizar a tela com o Dialog.
Vamos também usar uma outra thread para definir o Executor e submeter as tarefas para execução e aguardar até o fim de todas as tarefas para encerrar o Dialog ( MyControlThread).
Os códigos:
TesteExecutorsActivity.java