Android Timer编写方式深解
Android手机操作系统是一款基于Linux平台的开源手机操作系统。对于编程人员来说,修改这一操作系统的方法应该很容易就可以掌握。不过中间还是有许多细节需要我们注意。比如写惯java的人可能会认为Android Timer的使用应该如下:


程序功能很简单:10秒后,SetTitle为“hear me?”,然后,实际上这样做是不行的,这跟Android的线程安全有关!


Java代码


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);   
}   
}   
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来实现Android Timer功能的!


Java代码


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);   
}   

Android Timer的相关操作就为大家介绍到这里。
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐