文档章节

Android倒计时、延时操作与新建线程、获取当前时间

先进青年
 先进青年
发布于 2017/04/25 09:33
字数 298
阅读 7
收藏 0
/** * 倒计时45分钟 */
private int second = 0;//秒
private int minute = 45;//分
Handler handler = new Handler();
/**
 * 倒计时开始
 */
Runnable runnable = new Runnable() {
    @Override
    public void run() {
        timeCountDown();
        handler.postDelayed(this, 1000);
    }
};
/**
     * 倒计时操作
     */
    private void timeCountDown(){
        if (minute == 0) {
            if (second == 0) {
                time_tv.setText("0" + minute + ":" + "0" + second);
                Message message = new Message();
                message.what = 1;
                handlerStop.sendMessage(message);
//                jumpActivity(null,ExamEndActivity.class);
//                finish();
            } else {
                second--;
                if (second >= 10) {
                    time_tv.setText("0" + minute + ":" + second);
                } else {
                    time_tv.setText("0" + minute + ":" + "0" + second);
                }
            }
        } else {
            if (second == 0) {
                second = 59;
                minute--;
                if (minute >= 10) {
                    time_tv.setText(minute + ":" + second);
                } else {
                    time_tv.setText("0" + minute + ":" + second);
                }
            } else {
                second--;
                if (second >= 10) {
                    if (minute >= 10) {
                        time_tv.setText(minute + ":" + second);
                    } else {
                        time_tv.setText("0" + minute + ":" + second);
                    }
                } else {
                    if (minute >= 10) {
                        time_tv.setText(minute + ":0" + second);
                    } else {
                        time_tv.setText("0" + minute + ":0" + second);
                    }
                }
            }
        }
    }
/**
   * 停止倒计时
   */
int  count = 0;
  final Handler handlerStop = new Handler() {
               public void handleMessage(Message msg) {
                       switch (msg.what) {
                           case 1:
                                   count = 0;
                                   handler.removeCallbacks(runnable);
                                   break;
                           }
                       super.handleMessage(msg);
                   }

                   };

 

/** * 延时操作一 */
mHandler .postDelayed(mRunnable, 1000);
/**
 * 延时操作一
 */
private Runnable mRunnable = new Runnable() {
    @Override
    public void run() {
        mHandler.sendEmptyMessage(1);
    }
};

Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        //1s后执行代码
        
    }
};
/**
 * 延时操作二
 */
public void delayedShow(){
    new Handler().postDelayed(new Runnable(){
        public void run() {
            //1s后执行代码
        }
    }, 1000);
}

新建线程:

new  Thread(new Runnable() {
    @Override
    public void run() {
        /**
         * 要进行的操作
         */
}
}).start();

获取当前时间

SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
Date curDate = new Date(System.currentTimeMillis());//获取当前时间
String time = formatter.format(curDate);

© 著作权归作者所有

共有 人打赏支持
先进青年
粉丝 0
博文 28
码字总数 9089
作品 0
武汉
私信 提问
Android 倒计时工具CountDownTimer的使用

一、用法详解 在Android开发中,有时需要使用倒计时功能,在Android系统中提供了一个倒计时的抽象类来辅助倒计时行为。 这个类有点缺陷,就是不能暂停后再次接着继续使用,为此,需要自定义一...

IamOkay
2014/11/23
0
0
Android Timer计时器详解

直接上代码,解释看注释,一个火箭发射倒计时的例子 main.xml [html] <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ......

yumingxinli
2013/03/08
0
1
开源硬件:10 款 IOT 开源产品 (国内首发)

10 款 iot 开源产品,国内首发。所有软件都托管在开源中国码云平台! 机智云空气净化器 空气污染是每个城市人所面临的最大健康威胁,就算你在室内你也需要时刻关注空气质量情况。 智能空气净化...

物联网小能手
2016/07/19
11.8K
39
开源硬件之智能家电(app开源)

(所有代码托管在 git@osc :https://git.oschina.net/dantang) 机智云空气净化器 空气污染是每个城市人所面临的最大健康威胁,就算你在室内你也需要时刻关注空气质量情况。 智能空气净化器,...

物联网小能手
2016/07/18
11
0
在Activity内使用定时器

在activity内不可以直接使用定时器,因为定时器开辟了新的线程,而activity是主线程,两个线程进行通信所以用到handler Handler工具类在多线程中有两方面的应用:   1、发送消息,在不同的...

会飞的蝌蚪
2014/05/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

拒绝拖拽 使用ConstraintLayout优化你的布局吧

ConstraintLayout出现有一段时间了,不过一直没有特别去关注,也多多少少看了一些文字介绍,多数都是对使用可视化布局拖拽,个人对拖拽一直不看好,直到前端时间看到该文: 解析ConstraintL...

SuShine
30分钟前
3
0
开源 java CMS - FreeCMS2.8 数据对象 report

项目地址:http://www.freeteam.cn/ report 在使用申报相关标签时,标签会封装report供页面调用。 属性 说明 id id name 项目名称 unit 申报单位 filename 申报文件名称 filenum 申报文件文号...

freeteam
32分钟前
1
0
MySQL配置主从复制

1.master配置my.ini添加: log-bin=mysql-bin//开启二进制日志server-id=1innodb_flush_log_at_trx_commit=1//每次事务的结束都会触发Log Thread 将log buffer 中的数据写入文件并通知文...

ty淡然
33分钟前
2
0
在vs2017中将.obj链接到.lib中

项目属性-库管理器-常规-附加依赖项-"your.obj;....."

simpower
38分钟前
0
0
同一数据库,从这个表迁移到另外一张表

要求: 1、同一个数据库 2、两张表结构相同 insert into t_walk_user_step_history(user_id,city_id,steps,prop_steps,today_praise,today_date,insert_time)selectuser_id,city_id,st......

就叫程舰
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部