写了一个定时器类,以方便应用

/**
 *  执行计划任务 author:littlehow
 *   2015-04-25
 *  @param time     --执行时间间隔或者滞后时间
 *  @param fname    --函数名称
 *  @param loopflag --循环次数 -1代表无限循环 0代表不循环(即timeout) 其余正数代表循环次数
*/
function Timer(time, fname, loop){
	if(this instanceof Timer){
		this.id = -1;
		this.time = time;
		this.fname = fname;
		this.stopFlag = false;
		this.loop = this.count = this.currentCount = 0;
		if(typeof loop=="number"){
			this.loop = this.count = loop;
		}
		this.myFun = function(obj){
			return function(){
				if(--obj.count<=0){
					obj.stop();
				}
				obj.currentCount++;
				obj.fname();
			};
		};
		
		this.newFun = function(obj){
			return function(){
				obj.currentCount++;
				obj.fname();
			};
		};
		
		this.start = function(){
			this.currentCount = 0;
			this.stopFlag = false;
			if(this.loop==-1){
				this.id = window.setInterval(this.newFun(this),this.time);
			}else if(this.loop==0){
				this.id = window.setTimeout(this.fname, this.time);
			}else{
				this.id = window.setInterval(this.myFun(this), this.time);
			}
		};
		this.stop = function(){
			if(this.stopFlag){
				return;
			}else{
				this.stopFlag = true;
			}
			if(this.loop==0){
				window.clearTimeout(this.id);
			}else{
				window.clearInterval(this.id);
			}
		};
		this.setTime = function(time){
			this.time = time;
		};
		this.setLoop = function(loop){
			this.loop = loop;
		};
		this.setFname = function(fname){
			this.fname = fname;
		};
		this.getId = function(){
			return this.id;
		};
	}else{
		return new Timer(time, fname, loopflag);
	}
};

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我来给你介绍一下如何在 Android 应用中实现定时器功能。 1. 在 Android 应用中,定时器功能可以通过使用 `Handler` 来实现。 `Handler` 是 Android 提供的一个用于在后台线程与主线程之间进行消息传递的工具。 2. 首先,你需要在应用中创建一个新的线程,在这个线程中使用 `Handler` 对象来发送延迟消息。 3. 然后,你需要在主线程中创建一个 `Handler` 对象,并重它的 `handleMessage` 方法。在这个方法中,你可以指定你想要在定时器触发时执行的操作。 4. 最后,你可以使用 `postDelayed` 方法来设置定时器的触发时间。 例如,下面是一个简单的定时器功能的实现示例: ``` // 在新的线程中使用 Handler 发送延迟消息 new Thread(new Runnable() { @Override public void run() { // 创建 Handler 对象 final Handler handler = new Handler(); // 使用 postDelayed 方法设置定时器的触发时间(5000 毫秒后) handler.postDelayed(new Runnable() { @Override public void run() { // 在这里执行你想要在定时器触发时执行的操作 // 例如,发送一条消息 handler.sendEmptyMessage(0); } }, 5000); } }).start(); // 在主线 ### 回答2: 要一个Android APP来实现定时器的功能,首先需要在Android Studio中创建一个新的项目。然后,在主活动的XML布局文件中,添加一个用于显示时间的TextView和三个按钮,分别用于开始计时、暂停计时和重置计时。 接下来,在主活动的Java文件中,我们需要创建一个计时器对象,并使用Handler来更新UI界面上的时间显示。在计时器对象的构造函数中,我们可以设置计时器的初始时间和计时的间隔。 当用户点击开始计时按钮时,我们会调用计时器对象的start方法,开始计时。在start方法中,我们会使用Handler的postDelayed方法来循环调用自身,实现定时器的功能。 当用户点击暂停计时按钮时,我们会调用计时器对象的pause方法,暂停计时。在pause方法中,我们会移除Handler中的所有待处理消息,以停止定时器的运行。 当用户点击重置计时按钮时,我们会调用计时器对象的reset方法,重置计时器。在reset方法中,我们会将计时器的时间设为初始值,并更新UI界面上的时间显示。 最后,我们需要在主活动中为按钮设置监听器,以响应用户的点击事件,并更新UI界面上的时间显示。 通过以上步骤,我们可以实现一个简单的定时器APP。当用户点击开始计时按钮时,每秒钟时间都会更新一次,并显示在界面上。当用户点击暂停计时按钮时,定时器会停止运行,用户可以继续计时或者重置计时。这个APP可以帮助用户精确地计时,并方便地进行固定时间的计算和管理。 ### 回答3: 要实现一个Android APP的定时器功能,可以按照以下步骤进行: 1. 创建一个新的Android项目,并设置好项目的基本配置。包括应用的名称、包名、最低版本要求等。 2. 在主界面布局文件中添加一个文本视图TextView,用于显示时间。 3. 在主界面的Activity中定义一个计时器对象CountDownTimer。CountDownTimer是Android提供的一个用于实现定时器功能的。 4. 在Activity的onCreate()方法中初始化计时器对象,并设置计时器的总时间和每次计时的间隔时间。 5. 在Activity中重CountDownTimer的几个方法,包括onTick()方法和onFinish()方法。onTick()方法会在每次计时间隔过去时调用,可以在这个方法中更新UI界面的文本视图,显示剩余的时间。onFinish()方法会在计时结束后调用,可以在这个方法中进行一些相关的操作,比如播放音乐或者弹出提示对话框等。 6. 在Activity的onStart()方法中启动计时器对象,并在onStop()方法中停止计时器对象,保证计时器能够在后台正常运行,并且在Activity销毁时能够释放资源。 7. 在AndroidManifest.xml文件中声明相关权限,以便应用能够顺利运行。比如可以添加android.permission.WAKE_LOCK权限,以确保应用在屏幕关闭时也能正常运行。 8. 运行Android应用程序,点击启动按钮后,应用界面上将会显示定时器的倒计时。 以上就是实现一个Android APP定时器功能的大致步骤。可以根据具体的需求进行功能的扩展和美化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值