Android实现定时器的两种方法

Android实现定时器的两种方法。

1、采用Handler与线程sleep的方法。

2、与采用HandlerTimerTask的方法。


现附上代码通过三种方法实现每秒钟更新一次时间的操作:

   首先新建Handler,进行处理相应动作

<span style="white-space:pre">	</span>private final Handler mhandler = new Handler()
	{
		@Override
		public void handleMessage(Message msg)
		{
			// TODO Auto-generated method stub
			super.handleMessage(msg);
			switch(msg.what)
			{
			case CLOCK_TIME_CHANEGE:
				setDateAndTime();
				break;
			}
		}
	}; 

1、采用Handler与线程sleep的方法。

public class MyThead implements Runnable
{

	public void run()
	{
		// TODO Auto-generated method stub
		while(true)
		{
			try
			{
				Thread.sleep(1000);
				mhandler.sendEmptyMessage(CLOCK_TIME_CHANEGE);
			} catch (InterruptedException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}
然后在改启动它的地方启动它

	new Thread(new MyThread()).start();

这样就可以了,就是开启一个线程,在线程中是一个死循环,在循环中没1钟后发生一个Message。

2、与采用HandlerTimerTask的方法。

     新建一个Timer与TimerTask,每秒钟发送一个Message出来。

<span style="white-space:pre">	</span>Timer mTimer = new Timer();
	TimerTask mTimerTask = new TimerTask()
	{
			
		@Override
		public void run()
		{
			// TODO Auto-generated method stub
			Log.d("Javen","send Message");
			mhandler.sendEmptyMessage(CLOCK_TIME_CHANEGE);
		}
	};
		
	mTimer.schedule(mTimerTask, 0, 1000);
schedule方法的意思是,在0秒后,每秒钟执行一次mTimerTask。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值