`
wang_peng1
  • 浏览: 3960205 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

计时表stop watch

阅读更多
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class Main extends Activity implements OnClickListener{

    final int MSG_START_TIMER = 0;
    final int MSG_STOP_TIMER = 1;
    final int MSG_UPDATE_TIMER = 2;

    Stopwatch timer = new Stopwatch();
    final int REFRESH_RATE = 100;

    Handler mHandler = new Handler()
    {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
            case MSG_START_TIMER:
                timer.start(); //start timer
                mHandler.sendEmptyMessage(MSG_UPDATE_TIMER);
                break;

            case MSG_UPDATE_TIMER:
                tvTextView.setText(""+ timer.getElapsedTime());
                mHandler.sendEmptyMessageDelayed(MSG_UPDATE_TIMER,REFRESH_RATE); //text view is updated every second, 
                break;                                  //though the timer is still running
            case MSG_STOP_TIMER:
                mHandler.removeMessages(MSG_UPDATE_TIMER); // no more updates.
                timer.stop();//stop timer
                tvTextView.setText(""+ timer.getElapsedTime());
                break;

            default:
                break;
            }
        }
    };

    TextView tvTextView;
    Button btnStart,btnStop;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tvTextView = (TextView)findViewById(R.id.TextView01);

        btnStart = (Button)findViewById(R.id.Button01);
        btnStop= (Button)findViewById(R.id.Button02);
        btnStart.setOnClickListener(this);
        btnStop.setOnClickListener(this);

    }

    public void onClick(View v) {
        if(btnStart == v)
        {
            mHandler.sendEmptyMessage(MSG_START_TIMER);
        }else
        if(btnStop == v){
            mHandler.sendEmptyMessage(MSG_STOP_TIMER);
        }
    }
}

 

/*
    Copyright (c) 2005, Corey Goldberg

    StopWatch.java is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
*/


public class StopWatch {
    
    private long startTime = 0;
    private long stopTime = 0;
    private boolean running = false;

    
    public void start() {
        this.startTime = System.currentTimeMillis();
        this.running = true;
    }

    
    public void stop() {
        this.stopTime = System.currentTimeMillis();
        this.running = false;
    }

    
    //elaspsed time in milliseconds
    public long getElapsedTime() {
        long elapsed;
        if (running) {
             elapsed = (System.currentTimeMillis() - startTime);
        }
        else {
            elapsed = (stopTime - startTime);
        }
        return elapsed;
    }
    
    
    //elaspsed time in seconds
    public long getElapsedTimeSecs() {
        long elapsed;
        if (running) {
            elapsed = ((System.currentTimeMillis() - startTime) / 1000);
        }
        else {
            elapsed = ((stopTime - startTime) / 1000);
        }
        return elapsed;
    }

    
    
    
   }

 http://www.goldb.org/stopwatchjava.html

分享到:
评论

相关推荐

    安卓秒表stop watch最新版apk

    【安卓秒表stop watch最新版apk】是一款专为Android用户设计的高性能计时工具,它提供了精准、便捷的秒表功能,适用于各种场合,如运动训练、考试计时、烹饪定时等。作为一款最新的版本,它可能包含了诸多优化和新...

    塞班手机秒表模拟Analogue Stop Watch

    总结起来,“Analogue Stop Watch”是一款结合了经典与现代的计时工具,其模拟秒针的设计、高精度的计时能力以及人性化的操作方式,使其在塞班手机用户中备受青睐。虽然随着科技的发展,新的计时工具层出不穷,但...

    This shows how to count off time in a Stop Watch format.

    标题中的"Stop Watch format"指的是计时器的样式,通常是指一种模拟电子秒表或定时器的显示方式。在IT领域,这样的计时器控件常用于编程,特别是在需要跟踪时间消耗、性能测试或者游戏开发等场景。接下来,我们将...

    java _swing_stop_watch.zip_horncaj_java_watch

    Java Swing Stop Watch是一款基于Java Swing库开发的计时器应用,用于精确地测量时间间隔,常见于编程测试、性能分析或者任何需要计时的场景。这个压缩包包含了一个名为"java.swing.stop.watch"的Java项目,它展示了...

    Simple program demonstrating how to create a stop watch usin

    标题中的"Simple program demonstrating how to create a stop watch using the Timer control"揭示了这是一个关于使用Timer控件创建简单计时器程序的示例。这个程序可能是用Visual Basic (VB)编写的,因为文件名中...

    Stop watch MFC

    在这个“Stop watch MFC”项目中,开发者可能创建了一个自定义的七段数码管显示类来模拟真实的秒表显示屏效果,提高了用户体验。 **七段数码管显示** 七段数码管是一种常见的数字显示设备,它由七个独立的LED段...

    Stop-Watch:一个简单的秒表android应用程序

    Stop-Watch是一款基于Android平台的简单秒表应用,它由Kotlin编程语言编写而成。Kotlin是Google在2017年宣布为Android开发的首选语言,因其简洁、安全和面向现代开发的特点而受到广大开发者喜爱。这款应用的源代码...

    stop_watch_timer:这是Flutter插件的秒表计时器.:man_running:

    stop_watch_timer 这是秒表计时器。 范例程式码 有关使用stop_watch_timer的完整示例应用程序,请参见示例目录。 安装 将此添加到包的pubspec.yaml文件中: dependencies: stop_watch_timer: 特征 这是...

    Mac Stop Watch-开源

    在实际使用中,Mac Stop Watch 提供了基础的秒表功能,用户可以轻松启动、暂停、重置计时器,以满足日常的计时需求。此外,由于软件是开源的,用户可能会发现一些额外的功能,如定时提醒(如压缩包中的"Alarmclock....

    labview自动计时器/自动定时器/秒表/

    压缩包中的"Common Stop Watch_v0.1.vi"文件很可能是这个计时器应用的主程序,而"subVI"可能是包含子函数或模块的库,用于实现特定的功能,比如计时逻辑、报警处理等。在LabVIEW中,子VI是一种封装好的可重用代码,...

    interval-stop-watch:使用计时器进行拆分

    这个名为"interval-stop-watch"的项目似乎是一个基于Java实现的间隔秒表工具,它允许用户对时间进行精确的分割和管理,尤其适用于追踪代码执行的时间段。下面将详细解释这个工具的核心功能和可能的实现方式,以及它...

    Stop-Watch

    在Web开发中,Stop-Watch通常指的是一个模拟真实计时器功能的应用,它能够帮助开发者或用户追踪时间,比如用于性能测试或者时间管理。这个项目的名字"Stop-Watch"直译为“秒表”,暗示了它可能是一个用于在线计时的...

    stop-watch:dartpolymer 秒表应用程序

    "stop-watch:dartpolymer 秒表应用程序" 这个标题表明我们正在讨论一个基于Dart编程语言和Polymer框架开发的秒表应用。Dart是Google推出的一种面向对象的、现代的、强类型的编程语言,而Polymer则是用于构建Web应用...

    Stop-Watch-js

    "Stop-Watch-js"是一个基于JavaScript的计时器应用,主要应用于Web开发中,用于实现类似于秒表的功能。这个项目可能包含HTML、CSS以及JavaScript代码,使得开发者可以在浏览器环境中创建一个可控制的计时器,比如...

    Stop-Watch:我创建一个简单的秒表只是为了好玩

    这个项目标题“Stop-Watch:我创建一个简单的秒表只是为了好玩”暗示了这是一个个人项目,旨在实现一个基本的计时功能,可能是用HTML、CSS和JavaScript等Web技术构建的。接下来,我们将深入探讨与这个主题相关的知识...

    Stop-Watch:这是在线的秒表。 它是通过使用HTML,CSS,JavaScript创建的

    本项目名为"Stop-Watch",它利用了前端开发中的三大核心技术:HTML(超文本标记语言)、CSS(层叠样式表)和JavaScript,构建了一个功能齐全、直观易用的在线秒表应用。 ### HTML基础知识 HTML是构建网页内容的...

    PC端定时器小工具OnlyStopWatch

    它可以同时开启多个计时器,每个计时器可以独立设置,互不干扰,帮助你同时追踪多个任务的时间进度。这对于需要平衡多项工作或学习活动的人来说非常实用。 安全性也是OnlyStopWatch的一大亮点。作为一款轻量级的PC...

    stop-watch.github.io

    标题 "stop-watch.github.io" 暗示我们正在讨论一个基于GitHub Pages托管的网页秒表应用。这个项目很可能是用JavaScript编程语言实现的,因为标签指明了"JavaScript"。JavaScript是一种广泛用于网页开发的脚本语言,...

    javascript-stop-watch:使用纯 javascript 停止观看

    在描述中提到的“使用纯 javascript 停止观看”,可能是指这个秒表应用不仅实现了基本的计时功能,还包含了停止(stop)和观察(watch)的时间控制。这表明这个秒表可能具有开始、暂停、重置等操作,以便用户能够...

    Stop-Watch:Android中的简单秒表应用程序。 Android数据绑定库还用于绑定视图和值

    秒表(Stop-Watch)是Android平台上常见的应用类型之一,它允许用户计时,通常用于运动、游戏或者简单的定时任务。在这个特定的项目中,开发者创建了一个简单的秒表应用程序,利用了Android的数据绑定库来增强应用...

Global site tag (gtag.js) - Google Analytics