android定时器
package com.smartdot.handlerapi;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity {
Timer timer;
TimerTask task ;
TextView tv_text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_text = (TextView) findViewById(R.id.tv_text);
//定时器初始化
timer = new Timer();
//定时任务,不可重复使用
task = new TimerTask() {
@Override
public void run() {
//不管在哪个位置runOnUiThread方法都运行在主线程中
runOnUiThread(new Runnable() {
@Override
public void run() {
tv_text.setText(Math.random() + "");
}
});
}
};
//timer.schedule(task,5000);//五秒后执行方法
timer.schedule(task,3000,1000);//三秒后没隔1秒执行一次
Handler handler = new Handler();
//定时器,两秒钟之后执行run方法
handler.postAtTime(new Runnable() {
@Override
public void run() {
System.out.println("我是五秒钟之后执行的。");
}
},5000);
}
@Override
protected void onDestroy() {
super.onDestroy();
task.cancel();
timer.cancel();
}
}