Android简单的Timer小例子

写惯java的人可能会认为Timer的使用应该如下:

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

Java代码 收藏代码
  1. packagecom.ray.test;
  2. importjava.util.Timer;
  3. importjava.util.TimerTask;
  4. importandroid.app.Activity;
  5. importandroid.os.Bundle;
  6. publicclassJavaTimerextendsActivity{
  7. Timertimer=newTimer();
  8. TimerTasktask=newTimerTask(){
  9. publicvoidrun(){
  10. setTitle("hearme?");
  11. }
  12. };
  13. publicvoidonCreate(BundlesavedInstanceState){
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.main);
  16. timer.schedule(task,10000);
  17. }
  18. }

但实际上的用法应该通过配合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){
  1. super.onCreate(savedInstanceState);
  2. setContentView(R.layout.main);
  3. timer.schedule(task,10000);
  4. }
  5. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值