How do you use a TimerTask to run a thread?
I have implemented something like this and it works fine:
private Timer mTimer1; private TimerTask mTt1; private Handler mTimerHandler = new Handler(); private void stopTimer(){ if(mTimer1 != null){ mTimer1.cancel(); mTimer1.purge(); } } private void startTimer(){ mTimer1 = new Timer(); mTt1 = new TimerTask() { public void run() { mTimerHandler.post(new Runnable() { public void run(){ //TODO } }); } }; mTimer1.schedule(mTt1, 1, 5000); }
You use a Timer
, and that automatically creates a new Thread for you when you schedule a TimerTask
using any of the schedule
-methods.
Example:
Timer t = new Timer();t.schedule(myTimerTask, 1000L);
This creates a Timer running myTimerTask
in a Thread belonging to that Timer once every second.
This is perfect example for timer task.
Timer timerObj = new Timer();TimerTask timerTaskObj = new TimerTask() { public void run() { //perform your action here }};timerObj.schedule(timerTaskObj, 0, 15000);