Android Timer編寫方式深解
作者:佚名
許多編程人員都會認為,Android Timer的實現(xiàn)方法比較簡單,其實真正的草率做起來并非如此。我們在這里就為大家介紹一下這方面的相關(guān)知識。
Android手機操作系統(tǒng)是一款基于Linux平臺的開源手機操作系統(tǒng)。對于編程人員來說,修改這一操作系統(tǒng)的方法應該很容易就可以掌握。不過中間還是有許多細節(jié)需要我們注意。比如寫慣java的人可能會認為Android Timer的使用應該如下:
程序功能很簡單:10秒后,SetTitle為“hear me?”,然后,實際上這樣做是不行的,這跟Android的線程安全有關(guān)!
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來實現(xiàn)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的相關(guān)操作就為大家介紹到這里。
【編輯推薦】
責任編輯:曹凱
來源:
javaeye.com