java代码:
Timer timer = new Timer( );

TimerTask task = new TimerTask( ) {
public void run ( ) {
Message message = new Message( );
message.what = 1;
handler.sendMessage(message);
}
};

final Handler handler = new Handler( ) {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
log.e("Timer","Timer");
update( );
break;
}

super.handleMessage(msg);
}
};

protected void onDestroy ( ) {
if (timer != null) {
timer.cancel( );
timer = null;
}
super.onDestroy( );
}
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
timer.schedule(task,1000,5000);
}


最重要的一点是 timer.schedule(task,1000,5000),如果设置为 timer.schedule(task,5000)是不会工作的。

因为timer.schedule(task,5000) 是表示执行一次的任务。
timer.schedule(task,1000,5000)表示 1 秒钟后开始 5 秒钟为周期 重复执行,
更好的方法是通过下面的代码 (Handler加Runnable线程,更简洁)

java代码:
private Handler handler = new Handler( );

private Runnable runnable = new Runnable( ) {
public void run ( ) {
update( );

handler.postDelayed(this,1000);
//postDelayed(this,1000)方法安排一个Runnable对象到主线程队列中
}
};

handler.postDelayed(runnable,1000); // 开始Timer
handler.removeCallbacks(runnable); //停止Timer

更多相关文章

  1. android EditText设置不可写
  2. android 使用html5作布局文件: webview跟javascript交互
  3. android实现字体闪烁动画的方法
  4. android studio调试c/c++代码
  5. IM-A820L限制GSM,WCDMA上网的原理(其他泛泰机型可参考)7.13
  6. 锁屏界面
  7. android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
  8. 在Fragment中设置控件点击方法,执行失败。
  9. Android(安卓)version and Linux Kernel version

随机推荐

  1. docker容器跨主机互通
  2. 五行代码实现在小程序中接入微信登录
  3. 加速数字化转型的2大原因是什么?
  4. SHELL监控网站SSL证书有效期
  5. 北大国发院SSCI期刊等级分区什么鬼?
  6. mongodb大数据分页
  7. Spark On HBase
  8. 云数据库HBase企业级安全解析
  9. 重构单体为微服务
  10. 全面的区域科学研究数据获取途径汇总