Android中Timer使用示例

Android中Timer使用示例

寫慣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功能的!

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);
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章