No desenvolvimento, às vezes temos a necessidade de executar uma determinada tarefa em um período fixo de tempo. Por exemplo, os controles na interface do usuário precisam mudar com o tempo, podemos usar as classes de ferramentas de temporizadores fornecidos por Java, a saber, timer e TimerTask.
O timer é uma classe comum com vários métodos importantes; O TimerTask é uma classe abstrata com um método abstrato (), semelhante ao método Run () em um thread. Usamos o timer para criar um objeto e, em seguida, usamos o método de programação desse objeto para concluir esta operação de intervalo.
O método de programação tem três parâmetros
O primeiro parâmetro é um objeto do tipo TimerTask. O método run () de implementação do TimerTask é uma tarefa que precisa ser executada periodicamente;
Existem dois tipos do segundo parâmetro. O primeiro é o tipo longo, que indica quanto tempo leva para iniciar a execução, e o outro é o tipo de data, o que indica que ele inicia a execução após esse tempo;
O terceiro parâmetro é o ciclo de execução, que é do tipo longo.
O método de cronograma também possui uma sobrecarga de execução de dois parâmetros. O primeiro parâmetro ainda é o TimerTask e o segundo formulário representado por muito tempo indica quanto tempo será executado após a execução. Para data, significa que será executado após um certo tempo.
O timer é um thread, que usa o método de cronograma para concluir a programação do TimerTask. Vários Timertosks podem compartilhar um temporizador. Ou seja, o objeto do timer chama o método de cronograma uma vez, o que cria um thread. Depois de ligar para o cronograma uma vez, o TimerTask fará um loop ilimitado e usará o Timer's Cancel () para interromper a operação. Obviamente, após o mesmo timer executar o método cancel () uma vez, todos os threads do timer são encerrados.
uso:
// true significa que esse temporizador é executado no modo Daemon (baixa prioridade, o timer termina o programa e termina automaticamente) java.util.timer timer = new java.util.timer (true); Tarefa TimerTask = new TimerTask () {public void run () {// Coloque o código que precisa ser executado toda vez que é colocado aqui. }}; // A seguir, são apresentados vários métodos para agendar tarefas: // Tempo é o tipo de data: executado uma vez em um horário especificado. Timer.Schedule (tarefa, tempo); // A primeira vez é o tipo de data, o período é longo, indicando que é executado a cada milissegundos desde a primeira vez. Timer.Schedule (tarefa, primeira hora, período); // atraso é tipo longo: o atraso é executado uma vez a cada milissegundos a partir de agora. Timer.Schedule (tarefa, atraso); // O atraso é longo, o período é longo: após o atraso milissegundos são passados a partir de agora, execute todos os milissegundos. Timer.Schedule (tarefa, atraso, período); Código de exemplo:
importar Android.App.Activity; importar android.os.bundle; importar Android.OS.Handler; importar Android.OS.Message; importar java.util.timer; importar java.util.timertak; classe pública TimertoskActivity estende a atividade {Timer privado mtimer; @Override Protected void onCreate (pacote savedInstancestate) {super.oCreate (savedInstancestate); // init timer mtimer = new timer (); // Tarefa de timer inicial setTimerTask (); } @Override Protected void OnDestroy () {super.ondestroy (); // Cancelar timer mtimer.cancel (); } private void setTimerTask () {mtimer.schedule (new timerTask () {@Override public void run () {message message = new message (); message.what = 1; doactionHandler. } / ** * faça alguma ação * / private manipulador doactionHandler = new Handler () {@Override public void handleMessage (mensagem msg) {super.handleMessage (msg); int msgid = msg.what; switch (msgid) {case 1: // faça alguma quebra de ação; Padrão: quebra; }}}; }O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.