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

更多相关文章

  1. android 日期时间选择器
  2. 【翻译】(25)ANDROID ATOMICS OPERATIONS
  3. Android(安卓)SDK Manager无法更新解决方法
  4. android获取手机号码以及imsi信息
  5. Android中attr自定义标签详解
  6. android listview 右滑删除(android 项目心得五)
  7. android tools命名空间
  8. Android获得全局进程信息以及进程使用的内存情况
  9. Android(安卓)USB debugging 功能失效

随机推荐

  1. 在nodejs中创建child process
  2. java中的内部类内部接口详解
  3. java中Future的使用
  4. java中Runnable和Callable的区别
  5. 什么是爬虫?Python爬虫工作需要掌握哪些技
  6. SkipList和java中ConcurrentSkipListMap
  7. java中ThreadLocal的使用
  8. 一文弄懂java中的Queue家族
  9. java中DelayQueue的使用
  10. java中的类型擦除type erasure