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代码 复制代码
  1. packagecom.ray.test;
  2. importjava.util.Timer;
  3. importjava.util.TimerTask;
  4. importandroid.app.Activity;
  5. importandroid.os.Bundle;
  6. importandroid.os.Handler;
  7. importandroid.os.Message;
  8. publicclassTestTimerextendsActivity{
  9. Timertimer=newTimer();
  10. Handlerhandler=newHandler(){
  11. publicvoidhandleMessage(Messagemsg){
  12. switch(msg.what){
  13. case1:
  14. setTitle("hearme?");
  15. break;
  16. }
  17. super.handleMessage(msg);
  18. }
  19. };
  20. TimerTasktask=newTimerTask(){
  21. publicvoidrun(){
  22. Messagemessage=newMessage();
  23. message.what=1;
  24. handler.sendMessage(message);
  25. }
  26. };
  27. publicvoidonCreate(BundlesavedInstanceState){
  28. super.onCreate(savedInstanceState);
  29. setContentView(R.layout.main);
  30. timer.schedule(task,10000);
  31. }
  32. }

更多相关文章

  1. 【Android学习笔记】AutoCompleteTextView(数组在代码中)
  2. Android 高通代码预制apk可卸载,恢复出厂设置apk可恢复 Android M
  3. 移动网站开发中常用的10段JavaScript代码
  4. 使用 EditText来调用软键盘的搜索功能
  5. 说说在 Android 中如何实现记住密码功能
  6. Android Studio制作简易计算器源代码及详解
  7. Android 代码实现logcat输出到文件
  8. Android倒计时功能的实现

随机推荐

  1. 用 Python 读取巴菲特最近的持仓数据
  2. B站晚会大火的 140 万个理由!
  3. C语言的一些练习以及写一个猜数字游戏
  4. 巧用 Matplotlib 动画,让你的 Python 可
  5. 6、用户身份与文件权限
  6. 昨晚试试 数据行转列,差点翻了车
  7. 秋招拿了7个offer,分享一些反思和经验
  8. Ansible自动化部署服务
  9. 我对JDK15的简单理解
  10. 用 Python可视化神器 Plotly 动态演示全