启动一个倒计时器

android 专栏收录该内容
7 篇文章 0 订阅

1. 写布局文件,一个输入框输入一个整数,一个文本框显示倒计时,两个按钮分别启动和停止计时

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/et_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10">
        <requestFocus />
    </EditText>
    <TextView
        android:id="@+id/tv_showtime"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
s    <Button
        android:id="@+id/btn_start"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="开始计时" />
    <Button
        android:id="@+id/btn_stop"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="停止计时" />

</LinearLayout>
2. 编写MainActivity

public class MainActivity extends Activity implements View.OnClickListener{

    private EditText et_time;
    private Button btn_start, btn_stop;
    private TextView tv_showtime;
    private int i = 0;
    private Timer timer = null;
    private TimerTask task = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        et_time = (EditText) findViewById(R.id.et_time);
        btn_start = (Button) findViewById(R.id.btn_start);
        btn_stop = (Button) findViewById(R.id.btn_stop);
        tv_showtime = (TextView) findViewById(R.id.tv_showtime);
        btn_start.setOnClickListener(this);
        btn_stop.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_start:
                try {
                    i = Integer.parseInt(et_time.getText().toString());
                    tv_showtime.setText(et_time.getText().toString());
                    startTime();
                } catch (Exception e) {
                    e.printStackTrace();
                    Toast.makeText(this, "输入有误", Toast.LENGTH_SHORT).show();
                }
                break;
            case R.id.btn_stop:
                stopTime();
                break;
            default:
                break;
        }
    }

    private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            tv_showtime.setText(msg.arg1 + "");
            startTime();
        }
    };

    public void startTime() {
        timer = new Timer();
        task = new TimerTask() {
            @Override
            public void run() {
                i--;
                Message message = mHandler.obtainMessage();
                message.arg1 = i;
                mHandler.sendMessage(message);
            }
        };
        timer.schedule(task, 1000);
    }

    public void stopTime() {
        if(timer != null) {
            timer.cancel();
        }
    }
}
使用Timer和Timertask,TimerTask执行一次讲将数字减少1,然后通知handler去改变文本框的内容,然后再次执行倒计时。


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

<p style="margin: 0cm; background: white;"><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">本课程使用<span lang="EN-US">YOLOv5</span>和<span lang="EN-US">DeepSORT</span>对视频中的行人、车辆做多目标跟踪和计数,开展<span lang="EN-US">YOLOv5</span>目标检测和<span lang="EN-US">DeepSORT</span>多目标跟踪强强联手的应用。</span></p> <p style="margin: 0cm; background: white;"><span lang="EN-US" style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;"> </span><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">课程分别在</span><span lang="EN-US"><span style="box-sizing: border-box;">Windows</span>和</span><span lang="EN-US" style="font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-color-alt: windowtext;">Ubuntu</span><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">系统上做项目演示,并对<span lang="EN-US">DeepSORT</span>原理和代码做详细解读(使用<span lang="EN-US">PyCharm</span>单步调试讲解)。</span></p> <p style="margin: 0cm; background: white;"><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Arial',sans-serif; color: black; mso-themecolor: text1;"> </span></p> <p style="margin: 0cm; background: white; box-sizing: border-box; font-variant-ligatures: normal; font-variant-caps: normal; orphans: 2; widows: 2; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; word-spacing: 0px;"><span style="box-sizing: border-box;"><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">课程包括:<span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">基础篇、实践篇、原理篇和代码解析篇。</span></span></span></p> <p style="text-indent: -21.0pt; mso-list: l0 level1 lfo1; background: white; margin: 0cm 0cm 0cm 21.0pt;"><!-- [if !supportLists]--><span lang="EN-US" style="font-size: 14.0pt; mso-bidi-font-size: 10.5pt; font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; color: black; mso-themecolor: text1;"><span style="mso-list: Ignore;">Ÿ<span style="font: 7.0pt 'Times New Roman';">  </span></span></span><!--[endif]--><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">基础篇包括多目标跟踪任务介绍、数据集和评估指标;</span></p> <p style="text-indent: -21.0pt; mso-list: l0 level1 lfo1; background: white; margin: 0cm 0cm 0cm 21.0pt;"><!-- [if !supportLists]--><span lang="EN-US" style="font-size: 14.0pt; mso-bidi-font-size: 10.5pt; font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; color: black; mso-themecolor: text1;"><span style="mso-list: Ignore;">Ÿ<span style="font: 7.0pt 'Times New Roman';">  </span></span></span><!--[endif]--><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">实践篇包括</span><span lang="EN-US" style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">Win10</span><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">和<span lang="EN-US">Ubuntu</span>系统上的<span lang="EN-US">YOLOv5+DeepSORT</span>的多目标跟踪和计数具体的实践操作步骤演示,特别是对行人、车辆的<span lang="EN-US">ReID</span>数据集讲解了训练方法;</span></p> <p style="text-indent: -21.0pt; mso-list: l0 level1 lfo1; background: white; margin: 0cm 0cm 0cm 21.0pt;"><!-- [if !supportLists]--><span lang="EN-US" style="font-size: 14.0pt; mso-bidi-font-size: 10.5pt; font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; color: black; mso-themecolor: text1;"><span style="mso-list: Ignore;">Ÿ<span style="font: 7.0pt 'Times New Roman';">  </span></span></span><!--[endif]--><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">原理篇中讲解了马氏距离、匈牙利算法、卡尔曼滤波的原理,并解读了<span lang="EN-US">SORT</span>和<span lang="EN-US">DeepSORT</span>论文;</span></p> <p style="text-indent: -21.0pt; mso-list: l0 level1 lfo1; background: white; margin: 0cm 0cm 0cm 21.0pt;"><!-- [if !supportLists]--><span lang="EN-US" style="font-size: 14.0pt; mso-bidi-font-size: 12.0pt; font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; color: black; mso-themecolor: text1;"><span style="mso-list: Ignore;">Ÿ<span style="font: 7.0pt 'Times New Roman';">  </span></span></span><!--[endif]--><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">代码解析篇中使用<span lang="EN-US">PyCharm</span>单步调试对<span lang="EN-US">DeepSORT</span>的代码逐个文件进行讲解。课程提供注释后的代码。</span></p> <p style="text-indent: -21.0pt; mso-list: l0 level1 lfo1; background: white; margin: 0cm 0cm 0cm 21.0pt;"><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;"><img src="https://img-bss.csdnimg.cn/202105101512471836.jpg" alt="课程内容" /></span></p> <p><img src="https://img-bss.csdnimg.cn/202105101513384587.jpg" alt="行人多目标跟踪" /></p> <p><img src="https://img-bss.csdnimg.cn/202105101514053124.jpg" alt="车辆计数" /></p>
密码:看注释 解压密码146359085 《excel服务2017程序v3.9》使用说明: 1、本程序支持《excel服务2017、excel服务2016、excel服务2015、excel服务2013、excel服务2010》等最新版本版本,不支持excel服务2019。 2、MSSQL请不要使用空密码,否则注册程序可能失效。 2、本程序没有注册的话,为试用版,用户数最大为10用户,注册后没有限制。 3、安装和装卸本程序时请先停止excel服务2017的服务。 4、使用本程序时请先删除本软件以前的旧版本补丁。 5、如果下载完整版的升级程序升级,前请先装卸本软件,更新升级后再使用用本软件安装解密。 6、本程序正式版分为标准版及加强版两个版本,标准版只能在你注册的电脑上生效,加强版可以通过下面的操作为其他的excel服务授权。 7、本程序及其相关内容信息只作为学习、测试使用,严禁用于其它用途!!!、 由于使用本程序而产生的任何后果,请您自已负责!  当您使用了本程序及其相关内容信息后,都将视为接受本警告并自愿承担所有责任!!! 3.9更新说明: 1、修改软件的解密方法,避免后期官方对本软件的检测。 2、修复已知BUG。 3、修复硬件码会变动失效的Bug。 4、新增加对聚表2.6.7的支持。 3.8更新说明: 1、支持《excel服务2017》。 其他说明: 《excel服务2016注册程序v3.9加强版》可以用下面步骤为其他服务授权: 1、在其他安装excel服务的电脑上运行本软件及安装,并记下硬件码; 2、到安装有正式注册版的那台电脑上运行本软件,把步骤1得到的硬件码填入软件界面上的硬件码位置,设置好选项,然后安装; 3、安装后,打开勤哲安装目录,在目录下找到ESWint12.ini这个文件,把他复制出来。 4、回到步骤1的那台电脑上,把ESWint12.ini覆盖到勤哲的安装目录下,停止excel服务的服务并从新启动,如果以上步骤没有错误,那这时这台电脑上的excel服务就是正式注册了。 5、注册时两台电脑要安装同一版本的excel服务。 《聚表企业版2.6.7》的使用方法: 1、找作者开通聚表权限。 2、在《nxcells服务配置》复制出机码,把机码填入本软件《硬件码》中,版本选择《聚表企业版2.6.7》按安装即可生成授权。 3、把server.nks复制到聚表企业版2.6.7的server目录下,从新启动服务即可。
<span> </span> <div> 以通俗简介的方式,从浅入深介绍SVM原理和代码流程 让你从此不再惧怕SVM <br /> </div> <div> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="color:#E53333;">视频部分:</span></strong> </p> </div> 01_SVM之回顾梯度下降原理<br /> 02_SVM之回顾有约束的最优化问题<br /> 03_SVM之回顾有约束的最优化问题-KKT几何解释<br /> 04_SVM之回顾有约束的最优化问题-KKT数学解释<br /> 05_SVM之回顾距离公式和感知模型<br /> 06_SVM之感知到SVM的引入<br /> 07_SVM之线性可分时损失函数的表示<br /> 08_SVM之线性可分时损失函数的求解-对w,b变量求偏导<br /> 09_SVM之线性可分时损失函数的求解-对β变量求解.<br /> 10_SVM之线性可分时算法整体流程<br /> 11_SVM之线性可分时案例<br /> 12_SVM之线性不可分时软间隔介绍<br /> 13_SVM之线性不可分时软间隔优化目标<br /> 14_SVM之线性不可分时软间隔算法整体流程<br /> 15_SVM之线性不可分时数据映射高维解决不可分问题<br /> 16_SVM之线性不可分时核函数引入<br /> 17_SVM之线性不可分时核函数讲解<br /> 18_SVM代码之线性可分时和Logistic回归比较<br /> 19_SVM代码之基于鸢尾花数据多分类参数解释<br /> 20_SVM代码之基于鸢尾花数据网格搜索选择参数<br /> 21_SVM代码之不同分类,核函数,C值的可视化比较<br /> <p> 22_SVM之回归方式SVR </p> <p> 23_SVM代码之SVR解决回归问题 </p> 24_SVM之SMO思想引入<br /> <p> 25_SVM之SMO案列讲解 </p> <p> <br /> </p> <p> <strong><span style="color:#E53333;">代码部分:</span></strong> </p> <p> <img src="https://img-bss.csdn.net/202005090648425294.png" alt="" /> </p> <p> <br /> </p> <p> <strong><span style="color:#E53333;">资料部分:</span></strong> </p> <p> <img src="https://img-bss.csdn.net/202005090649458459.png" alt="" /> </p>
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值