segunda-feira, 23 de março de 2015

Usando o Handler como Timer 3, CountUpTimer

  No Android, sempre que pensamos em alguma rotina baseada em tempo, a indicação é usar a classe Handler. Mesmo que o primeiro recurso que lembrarmos seja a classe Timer!
  A classe Handler possui esses métodos que são úteis para implementar comportamentos baseados em tempo: postAtTime, postDelayed, sendMessageAtTime e sendMessageDelayed.
  Nesse exemplo uso uma classe abstrata CountUpTimer, que foi inspirada na CountDownTimer, para implementar um jeito de executar tarefas repetitivas após um dado intervalo de tempo. Toda a lógica está no método handleMessage do Handler, o método que se deve implementar ao extender o CountUpTime é o onTick, que recebe o tempo decorrido desde o start em milisegundos.
  Notem que o onTick deve ser implementado com o cuidado de ser breve, e, com uma preocupação adicional, de estar sendo chamado em um bloco sincronizado.

 Como costumam dizer por aí que uma imagem vale por mil palavras, eu acho que um código vale pelo menos por umas tantas quantas... Então seguem os códigos:





Uma observação final, implemente o CountUpTimer na MainThread.

Abraços

Nenhum comentário:

Postar um comentário