package com.liudan.activity;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class Mtimer extends Activity {
private static final String TAG = "Mtimer";
private Timer mTimer = new Timer(true);
private TimerTask mTimerTask;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTimerTask = new TimerTask(){
public void run(){
Log.i(TAG, "Mtimer----------------------------");
}
};
mTimer.schedule(mTimerTask, 5000, 1000); // 在5秒后每1秒执行一次定时器中的方法,比如本文为调用log.v打印输出。
new StopeThread().start();
}
private class StopeThread extends Thread{
@Override
public void run() {
Log.i(TAG, "run----------------------------");
try {
StopeThread.sleep(10000); //休眠10秒后停止执行
if(!mTimerTask.cancel());{
mTimer.cancel();
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
为了线程安全应该通过hangler来实现
下面是copy代码 代码来处——http://developer.51cto.com/art/201001/181040.htm
- package com.ray.test;
- import java.util.Timer;
- import java.util.TimerTask;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- public class TestTimer extends Activity {
- Timer timer = new Timer();
- Handler handler = new Handler(){
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case 1:
- setTitle("hear me?");
- break;
- }
- super.handleMessage(msg);
- }
- };
- TimerTask task = new TimerTask(){
- public void run() {
- Message message = new Message();
- message.what = 1;
- handler.sendMessage(message);
- }
- };
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- timer.schedule(task, 10000);
- }
- }