Android倒计时工具类

为什么80%的码农都做不了架构师?>>>   hot3.png

原文地址:http://my.oschina.net/reone/blog/710003

 

多谢touch_ping 的回应.  原来api有这个类  android.os.CountDownTimer , 具体实现很下面的差不多.

import android.content.Context;
import android.os.Handler;/*** Created by wangxingsheng on 16/7/11.*/public class CalculatorUtil {private Context mContext;public CalculatorUtil(Context context){mContext = context;}public void startTimer(final int delay,final OnOverListener listener){final Handler handler = new Handler(mContext.getMainLooper());Runnable runnable = new Runnable(){private int count = 0;@Overridepublic void run() {count++;if(count < delay){listener.onTick(delay - count);handler.postDelayed(this,1000);}else{listener.onOver();}}};handler.post(runnable);}public interface OnOverListener{void onOver();//数字跳到0时调用此方法void onTick(int tick);//第一次调用为总数 - 1,最后一次调用是1}
}

这段程序可能存在问题(例如handler生命周期丶线程继续运行等因素导致的问题),因为用途简单 没有深究.欢迎提出问题

上面的代码没有停止功能,下面是改善之后的代码.

import android.content.Context;
import android.os.Handler;/*** Created by wangxingsheng on 16/7/11.*/public class CalculatorUtil {private Context mContext;private boolean requestStop;private Handler handler;private int mDelay;private OnOverListener mListener;public CalculatorUtil(Context context,int delay,OnOverListener listener){mContext = context;handler = new Handler(mContext.getMainLooper());mDelay = delay;mListener = listener;}public void startTimer(){requestStop = false;handler.post(runnable);}private  Runnable runnable = new Runnable(){private int count = 0;@Overridepublic void run() {if(requestStop){return;}count++;if(count < mDelay){mListener.onTick(mDelay - count);handler.postDelayed(runnable,1000);}else{mListener.onOver();}}};public void stopTimer(){requestStop = true;handler.removeCallbacks(runnable);}public interface OnOverListener{void onOver();//数字跳到0时调用此方法void onTick(int tick);//第一次调用为总数 - 1,最后一次调用是1}
}

本博客原地址:http://my.oschina.net/reone/blog/710003

转载于:https://my.oschina.net/reone/blog/710003

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度相机原理揭秘--双目立体视觉

欢迎关注计算机视觉life&#xff01;导读 为什么非得用双目相机才能得到深度&#xff1f; 双目立体视觉深度相机的工作流程 双目立体视觉深度相机详细工作原理理想双目相机成像模型极线约束图像矫正技术基于滑动窗口的图像匹配基于能量优化的图像匹配 双目立体视觉深度相机的优…

微信扫码支付模式一和模式二的区别

http://www.baidu.com/link?urlAj_xhOM5Q6rpZXkTMBPq4o0UbCO4eLq0esX8B3K2v06bkRS8F8lC4k06rv-3uZARLLTEKJHMhwzI_cdcJiHfqK&wd&eqid904bc71f000181740000000356d7d9bf https://www.zhihu.com/question/35818812/answer/66086727 知乎页面访问存在502 Bad Gateway问题…

双目视觉几何框架详解(玉米专栏8篇汇总)

一、图像坐标&#xff1a;我想和世界坐标谈谈(A) 玉米竭力用轻松具体的描述来讲述双目三维重建中的一些数学问题。希望这样的方式让大家以一个轻松的心态阅读玉米的《计算机视觉学习笔记》双目视觉数学架构系列博客。这个系列博客旨在捋顺一下已标定的双目视觉中的数学主线。数…

(原)Ubuntu14中安装GraphicsMagick

转载请注明出处&#xff1a; http://www.cnblogs.com/darkknightzh/p/5661439.html 参考网址&#xff1a; http://comments.gmane.org/gmane.comp.video.graphicsmagick.core/514 http://www.graphicsmagick.org/INSTALL-unix.html https://github.com/clementfarabet/graphics…

世界坐标系和相机坐标系,图像坐标系的关系

from&#xff1a;https://blog.csdn.net/waeceo/article/details/50580607一、四个坐标系简介和转换相机模型为以后一切标定算法的关键&#xff0c;只有这边有相当透彻的理解&#xff0c;对以后的标定算法才能有更好的理解。本人研究了好长时间&#xff0c;几乎每天都重复看几遍…

PythonOCC 3D图形库学习—创建立方体模型

Open CASCADE&#xff08;简称OCC&#xff09;平台是是一个开源的C类库&#xff0c;OCC主要用于开发二维和三维几何建模应用程序&#xff0c;包括通用的或专业的计算机辅助设计CAD系统、制造或分析领域的应用程序、仿真应用程序或图形演示工具。 PythonOCC是对Open CASCADE的封…

Struts2、SpringMVC、Servlet(Jsp)性能对比 测试 。 Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照...

2019独角兽企业重金招聘Python工程师标准>>> Struts2、SpringMVC、Servlet(Jsp)性能对比 测试 。 Servlet的性能应该是最好的&#xff0c;可以做为参考基准&#xff0c;其它测试都要向它看齐&#xff0c;参照它。 做为一个程序员&#xff0c;对于各个框架的性能要有…

基于图像分割的立体匹配方法

1.绪论 立体匹配是三维重建系统的关键步骤&#xff0c;并且作为一种非接触测量方法在工业以及科研领域具有重要的应用价值。为了完成匹配工作以及获取场景的稠密视差图&#xff0c;可以通过构建能量函数对应立体匹配的约束条件。复杂能量函数的全局最优解通常是NP难问题。相对于…

深度相机(二)--结构光深度测距

原文&#xff1a; http://blog.sina.com.cn/s/blog_80ce3a550100wg5j.html http://blog.csdn.net/u013360881/article/details/51395427 网上资源&#xff1a;http://eia.udg.es/~qsalvi/recerca.html 结构光编码&#xff1a; 在3D 的深度获取上&#xff0c;最为常见的方法是类…

用python实现模拟登录人人网

用python实现模拟登录人人网 字数4068 阅读1762 评论19 喜欢46我决定从头说起。懂的人可以快速略过前面理论看最后几张图。 web基础知识 从OSI参考模型&#xff08;从低到高&#xff1a;物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0c;传输层&#xff0c;会话层&a…

双目相机--双目视差与深度距离关系推导详解

相机成像的模型如下图所示&#xff1a; P为空间中的点&#xff0c;P1和P2是点P在左右像平面上的成像点&#xff0c;f是焦距&#xff0c;OR和OT是左右相机的光心。由下图可见左右两个相机的光轴是平行的。XR和XT是两个成像点在左右两个像面上距离图像左边缘的距离。 -----------…

SQL Server有这些属性吗

2019独角兽企业重金招聘Python工程师标准>>> Navicat for SQL Server是一个全面的图形化方式管理数据库&#xff0c;可进行创建、编辑和删除全部数据库对象&#xff0c;例如表、视图、函数、索引和触发器&#xff0c;或运行SQL查询和脚本&#xff0c;查看或编辑BLOB…

【立体视觉】双目立体标定与立体校正

from&#xff1a;https://blog.csdn.net/u011574296/article/details/73826420 参考&#xff1a; 机器视觉学习笔记&#xff08;6&#xff09;——双目摄像机标定参数说明 机器视觉学习笔记&#xff08;8&#xff09;——基于OpenCV的Bouguet立体校正 双摄像头立体成像(三)-畸变…

bootstrap .col-md-6 文字居中问题处理

转载于:https://www.cnblogs.com/benbenfishfish/p/5672520.html

机器视觉学习笔记(4)——单目摄像机标定参数说明

from&#xff1a;https://blog.csdn.net/xuelabizp/article/details/50314633机器视觉学习笔记&#xff08;4&#xff09;——单目摄像机标定参数说明 标签&#xff1a; 机器视觉1.针孔摄像机模型 在介绍摄像机标定参数之前&#xff0c;需要先简单说一下针孔摄像机的原理。投影…

mysql 5.6 binlog组提交

mysql 5.6 binlog组提交实现原理http://blog.itpub.net/15480802/viewspace-1411356 Redo组提交 Redo提交流程大致如下 lock log->mutex write redo log buffer to disk unlock log->mutex fsync Fsync写磁盘耗时较长且不占用log->mutex&#xff0c;也就是其执行期间其…

张正友相机标定Opencv实现以及标定流程标定结果评价图像矫正流程解析(附标定程序和棋盘图)

from&#xff1a;https://blog.csdn.net/dcrmg/article/details/52939318使用Opencv实现张正友法相机标定之前&#xff0c;有几个问题事先要确认一下&#xff0c;那就是相机为什么需要标定&#xff0c;标定需要的输入和输出分别是哪些&#xff1f;相机标定的目的&#xff1a;获…

opencv双目视觉标定、匹配和测量 (附代码)

from&#xff1a;https://blog.csdn.net/bcj296050240/article/details/52778741双目视觉原理方面参照《学习Opencv》和大牛博客 http://blog.csdn.net/chenyusiyuan/article/details/5970799中16-19系列博客。本文主要记录我自己在双目视觉标定&#xff0c;立体匹配&#xff0…

工业相机的选择方法

信号  工业相机的信号类型有模拟信号和数字信号两种。模拟相机必须有图像采集卡&#xff0c;标准的模拟相机分辨率很低&#xff0c;采集到的是模拟信号&#xff0c;经数字采集卡转换为数字信号进行传输存储。工业数字相机采集到的是数字信号&#xff0c;数字信号不受电噪声影…

socket编程初级

什么是socket定义socket通常也称作套接字&#xff0c;用于描述IP地址和端口&#xff0c;是一个通信链的句柄&#xff0c;应用程序通常通过套接字向网络发出请求或者应答网络请求。socket起源于Unix&#xff0c;而Unix/Linux基本哲学之一就是“一切皆文件”&#xff0c;对于文件…