Android笔记之倒计时CountDownTimer抽象类
2017-03-09 11:14
316 查看
Android笔记之倒计时CountDownTimer抽象类
前言:
我对于这个类的用法目前仅限于用户注册获取验证码的倒计时,登录模块一直不是我开发,今天也是有空才来看下登录的逻辑,貌似很简单,整个项目的代码框架和ui框架是由我搭建的,采取的mvp的设计模式,理解不是很深,开发过程中一直在优化,觉得类的创建比之前拿起键盘就是干多了很多,不过没关系,有时间的话,建议还是要把你对mvp设计模式的理解在实践中尝试,会有提高.我是个年轻的程序员,废话不多说,直接上代码.
正文:
CountDownTimer类的使用很简单,这是一个android.os包下面的抽象类,其构造方法需要传入两个值,第一个参数是你需要倒计时的总时间,单位为毫秒,第二个值为计时变化依据的间隔时间,单位为毫秒.以下是CountDownTimer的构造方法
//构造方法 public CountDownTimer(long millisInFuture, long countDownInterval) { mMillisInFuture = millisInFuture; mCountdownInterval = countDownInterval; }
有两个方法必须要重写,而且两个方法都是在UI线程中执行的,不用担心子线程无法更新UI的问题:
onTick(long millisUntilFinished)
每隔设定的间隔时间就会执行此方法,millisUntilFinished为剩余的毫秒值,根据你设置的两个参数值决定的onFinish()
倒计时结束执行的回调方法以下是具体的代码,虽然量很少,还是要记录下来:
//倒计时60秒 private CountDownTimer timer = new CountDownTimer(60000, 1000) { @Override public void onTick(long millisUntilFinished) { mBtnVerificationCode.setText(millisUntilFinished / 1000 + "秒"); } @Override public void onFinish() { mBtnVerificationCode.setEnabled(true); mBtnVerificationCode.setText("获取验证码"); } };
倒计时开始的方法timer.start(),取消倒计时的方法timer.cancel().
实现原理:
CountDownTimer倒计时的原理就是利用android的handler消息机制,用handler发送延时消息,从而实现倒计时,原理还是很简单的.
相关文章推荐
- Android菜鸟笔记-利用CountDownTimer实现倒计时功能
- Android笔记:发送验证码后倒计时
- Android(OPhone) 学习笔记 - 搜索API的使用
- Android笔记:GridView与ImageView
- Android(OPhone) 学习笔记 - HelloWorld资源
- Android(OPhone) 学习笔记 - 界面设计工具
- Android(OPhone) 学习笔记 - Intent和Activity
- Android Cupcake源码编译笔记
- Android(OPhone) 学习笔记 - 资源的访问和配置
- Android(OPhone) 学习笔记 - Mail API 的使用
- Android(OPhone) 学习笔记 - 布局
- Android 开发笔记
- Android笔记之二:改进的NotePad Demo
- Android原生(Native)C开发之七:libjpeg移植笔记
- Android(OPhone) 学习笔记 - HelloWorld工程简介
- Android IMF 学习笔记三
- Android 学习笔记(一)——开发环境搭建
- Android IMF学习笔记二
- Android(OPhone) 学习笔记 - 代码基础
- Android(OPhone) 学习笔记 - 菜单使用