Timer+Handler组合实现定时循环执行代码操作
来源:互联网 发布:耳机推荐 知乎 编辑:程序博客网 时间:2024/05/21 07:01
利用Timer和Handler来实现多次重复执行同一段程序的过程。结合代码块,按顺序如下:首先,定义实例。
private Timer mTimer = null;private TimerTask mTimerTask = null;private boolean isStart = true;private int is_id=0;
先对timer和timertask进行判断
private void startTimer(){ Log.i(TAG, "startTimer,开始测试!"); if (mTimer == null) { mTimer = new Timer(); } if (mTimerTask == null) { mTimerTask = new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 16; testHandler.sendMessage(message); /* 设置多少次之后timer结束,停止循环,n是要循环的次数*/ if (is_id == n){ isStart = true; stopTimer(); } } }; } /* 如果mTimer与mTimerTask都不为空,则执行循环测试,延迟1秒开始以每1秒进行的循环*/ if(mTimer != null && mTimerTask != null ) mTimer.schedule(mTimerTask, 1000, 1000);}
用于停止timer和timertask的代码:
private void stopTimer(){ if (mTimer != null) { mTimer.cancel(); mTimer = null; } if (mTimerTask != null) { mTimerTask.cancel(); mTimerTask = null; } is_id = 0; }
定义一个handler来执行需要循环执行的代码块
Handler testHandler = new Handler(){ @Override public void handleMessage(Message msg) { //这里放要循环执行的代码! is_id++; } };
下面的代码我是在按钮点击事件中添加的,这样可以实现点击一次,每隔1秒执行代码段,执行完n次后,再点击按钮,可以继续实现循环执行。
isStart = !isStart;if (!isStart){ startTimer();}else { stopTimer();}
阅读全文
0 0
- Timer+Handler组合实现定时循环执行代码操作
- Timer实现定时执行
- android 使用Handler.postDelayed方法实现循环执行定时任务
- 利用Timer TimerTask实现定时循环任务
- 利用System.Threading.Timer 实现定时执行
- android中Handler与Runnable配合实现指定功能模块的定时循环地执行
- Timer 定时执行
- Java 定时执行 Timer
- java的Timer计时器实现几秒后循环执行代码的例子
- 定时任务:Handler vs Timer
- 定时任务 Handler vs Timer
- Handler+Timer/TimerTask实现ViewPager的自动循环播放
- java Timer(定时调用、实现固定时间执行)
- java Timer(定时调用、实现固定时间执行)
- java Timer(定时调用、实现固定时间执行)
- java Timer(定时调用、实现固定时间执行)
- timer定时操作
- android中Timer+TimerTask+Handler配合,重复定时执行某项任务(方法)
- [RK3288][Android6.0] 调试笔记 --- CPU默认调度策略
- 读书笔记--C陷阱与缺陷(七)
- 201403-1 相反数
- 面向对象设计原则之单一职责原则
- cmd 输入sqlplus 后 “请输入用户名”显示乱码
- Timer+Handler组合实现定时循环执行代码操作
- 6.0权限动态适配(四)(存在问题)
- Intergraph TANK 2016 v8.00.00 1CD(最新版,储油罐设计软件)
- Linux多线程练习2
- Java面向对象(六)接口
- Spark学习笔记1
- 【2017新疆网络赛】A Banana
- C语言实现静态顺序表
- CentOS 7下Apache HTTP Server安装配置