android 计时器Timer

本文介绍了Android开发中如何使用Timer和TimerTask来实现定时或周期性执行任务。Timer在后台线程执行任务,而TimerTask需要重写run()方法定义具体任务。由于线程安全原因,TimerTask的run()方法不应包含UI操作,可以结合Handler进行线程间的消息传递。
摘要由CSDN通过智能技术生成

        在Android的开发中会遇到这样一种需求:在某一时间点或者周期性的执行某一任务,这就是计时器问题,在android开发中,是有 java.util.Timer类和java.util.TimerTask协同完成,先来看看这两个类的介绍。

        Timer就是被安排在后台线程中执行任务的一个工具,用于顺序的执行计时器任务。Timer被创建以后即启动一个线程,通过schedule( )方法来执行TimerTask分配的任务。

        TimerTask是一个抽象类,用于安排一个任务,该类的抽象方法run()必须被重写,即具体执行任务的内容。

        在android 中,处于线程安全的考虑,不允许在线程中执行UI线程,个人理解即是在重写TimerTask的抽象方法run()中不允许有UI线程的操作,解决这一问题就得使用Handler,该类可以实现线程之间的消息传递。来看下面的一个小实例:


/**
 * android 计时器
 * 用TextView周期性的显示一个自增长的数字
 */

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;

public class MainActivity extends Activity
{
	private TextView textView;
	private int count = 0;
	private Timer tim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值