一、下面的列子是timer的使用
1、timer常用的函数
//delay 为long类型:从现在起过delay毫秒执行一次。
public void schedule(TimerTask task, long delay) {
throw new RuntimeException("Stub!");
}
//time为Date类型:在指定时间执行一次。
public void schedule(TimerTask task, Date time) {
throw new RuntimeException("Stub!");
}
2、TimerTask常用的函数
//执行时间间隔的代码
public abstract void run();
//关闭timer
public boolean cancel() {
throw new RuntimeException("Stub!");
}
public long scheduledExecutionTime() {
throw new RuntimeException("Stub!");
}
3、代码
public class MainActivity extends AppCompatActivity {
Timer timer;
TextView text;
Button button;
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 0) {
String str = (String) msg.obj;
//设置UI
//text.setText(str);
} else {
//text.setText("ccccc");
}
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView) findViewById(R.id.text);
button = (Button) findViewById(R.id.button);
timer = new Timer();//创建timer对象
timer.schedule(new TimerTask() {
@Override
public void run() {
Message message = new Message();
message.what = 0;
message.obj = "aaaa";
mHandler.sendMessage(message);
}
}, 4000, 10 * 1000);//4000表示开始时4秒后发送一次,10*10000表示美10秒后发送一次
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
text.setText("");
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
if (timer != null) {
timer.cancel();//关闭timer
}
}
}
网友评论