Android timer
16lz
2021-01-23
http://www.javaeye.com/topic/422972
写惯java的人可能会认为Timer的使用应该如下:
程序功能很简单:10秒后,SetTitle为“hear me?”,然后,实际上这样做是不行的,这跟Android的线程安全有关!
package com.ray.test;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.os.Bundle;
public class JavaTimer extends Activity {
Timer timer = new Timer();
TimerTask task = new TimerTask(){
public void run() {
setTitle("hear me?");
}
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
timer.schedule(task, 10000);
}
}
但实际上的用法应该通过配合Handler来实现timer功能的!
Java代码- packagecom.ray.test;
- importjava.util.Timer;
- importjava.util.TimerTask;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.os.Handler;
- importandroid.os.Message;
- publicclassTestTimerextendsActivity{
- Timertimer=newTimer();
- Handlerhandler=newHandler(){
- publicvoidhandleMessage(Messagemsg){
- switch(msg.what){
- case1:
- setTitle("hearme?");
- break;
- }
- super.handleMessage(msg);
- }
- };
- TimerTasktask=newTimerTask(){
- publicvoidrun(){
- Messagemessage=newMessage();
- message.what=1;
- handler.sendMessage(message);
- }
- };
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- timer.schedule(task,10000);
- }
- }
更多相关文章
- 【Android学习笔记】AutoCompleteTextView(数组在代码中)
- Android 高通代码预制apk可卸载,恢复出厂设置apk可恢复 Android M
- 移动网站开发中常用的10段JavaScript代码
- 使用 EditText来调用软键盘的搜索功能
- 说说在 Android 中如何实现记住密码功能
- Android Studio制作简易计算器源代码及详解
- Android 代码实现logcat输出到文件
- Android倒计时功能的实现