Pada kali ini akan dicontohkan penggunaan Timer dan TimerTask untuk sekali perhitungan timer maupun timer yang berulang-ulang (repeat) pada jeda waktu tertentu.
Buat variabel yang diperlukan pada program java.
private Timer timer; private TimerTask timerTask;
Buat method startTimer(int time). Method ini digunakan untuk perhitungan timer yang bersifat sekali jalan.
private void startTimer(int time) { stopTimer(); timer = new Timer(); initTimerTask(); timer.schedule(timerTask,time); }
Buat method startRepeatTimer(int time). Method ini digunakan untuk perhitungan timer yang berulang-ulang (repeat).
private void startRepeatTimer(int time) { stopTimer(); timer = new Timer(); initTimerTask(); timer.schedule(timerTask,time,time); }
Buat method stopTimer();
private void stopTimer() { if(timer != null) { timer.cancel(); timer = null; }
Buat method initTimerTask();
private void initTimerTask() { timerTask = new TimerTask() { @Override public void run() { System.out.println("On Timer."); } }; }
Untuk menjalankan timer, tinggal panggil method startTimer(int timer) atau method startRepeatTImer(int timer).
Gunakan Handler jika ingin menampilkan data pada TextView maupun sejenisnya.
Buat object dari class Handler.
Handler timerHandler; timerHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 0: textView.setText(msg.obj); break; default: break; } } };
Gunakan sendMessage untuk menampilkan data.
private void initTimerTask() { timerTask = new TimerTask() { @Override public void run() { Message msg = Message.obtain(null,0,"On Timer."); timerHandler.sendMessage(msg); } }; }
Source code:
donwload
Recent Comments