Cronometro no Android:
Para demonstrar o uso de um cronometro no Android, resolvi codificar o sorteio de um número entre 1 e 60:
O Android disponibiliza a classe CountDownTimer que é a classe que iremos utilizar para programar o cronometro. Criei uma classe interna chamada Cronometro que deriva da classe CountDownTimer.
Basta implementar dois métodos:
O construtor, onde passamos quanto será o tempo total do cronometro e de quanto em quanto tempo o temporizador executará a ação.
O método Tick, método onde ação será executada.
No caso coloquei para o tempo total ser de 5 segundos e de segundo em segundo sorteio um número e exibo na tela.
Na tela coloquei um botão e uma TextView para exibir os números sorteados.
Quando o usuário apertar o botão começar começa a disparar o cronômetro, parando 5 segundo depois com o número sorteado.
Para sortear utilizei a classe Random.
Coloquei o limite para ir até 60 no método: gerador.nextInt(61);
O código da classe Principal está logo a seguir:
O Android disponibiliza a classe CountDownTimer que é a classe que iremos utilizar para programar o cronometro. Criei uma classe interna chamada Cronometro que deriva da classe CountDownTimer.
Basta implementar dois métodos:
O construtor, onde passamos quanto será o tempo total do cronometro e de quanto em quanto tempo o temporizador executará a ação.
O método Tick, método onde ação será executada.
No caso coloquei para o tempo total ser de 5 segundos e de segundo em segundo sorteio um número e exibo na tela.
Na tela coloquei um botão e uma TextView para exibir os números sorteados.
Quando o usuário apertar o botão começar começa a disparar o cronômetro, parando 5 segundo depois com o número sorteado.
Para sortear utilizei a classe Random.
Coloquei o limite para ir até 60 no método: gerador.nextInt(61);
O código da classe Principal está logo a seguir:
package br.com.nav.blog;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Random;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btnCron;
private Cronometro cron = new Cronometro(5000,100);
private TextView txtNumero;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Tratando os campos da tela btnCron = (Button) findViewById(R.id.btnContagem);
btnCron.setOnClickListener(this);
txtNumero = (TextView) findViewById(R.id.txtNumero);
}
@Override public void onClick(View v) {
cron.start();
}
private class Cronometro extends CountDownTimer {
public Cronometro(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
public void onTick(long millisUntilFinished) {
Random gerador = new Random();
int numero = gerador.nextInt(61);
txtNumero.setText(String.valueOf(numero));
}
}
}
