0

Android TimerTask

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