Android SDK Timer的schedule()方法的正确使用
2015-11-09 14:07
471 查看
timer.schedule(new MyTask(),long time1,long timer2);
这个方法有三个参数:
第一个参数,是 TimerTask 类,在包:import java.util.TimerTask .使用者要继承该类,并实现 public void run() 方法,因为
TimerTask 类 实现了 Runnable 接口。
第二个参数的意思是,当你调用该方法后,该方法必然会调用 TimerTask 类 TimerTask 类 中的 run() 方法,这个参数就是这两者之间的差值,转换成汉语的意思就是说,用户调用
schedule() 方法后,要等待这么长的时间才可以第一次执行 run() 方法。
第三个参数的意思就是,第一次调用之后,从第二次开始每隔多长的时间调用一次 run() 方法。
下面定实例化一个TimerTask,这个是为Timer提供一个定时执行的内容。我在这个方法中加的是给Handler一个发送消息功能,因这在Timer的线程中,无法直接操作UI线程。
1 TimerTask task = new TimerTask(){
2 public void run() {
3 Message message = new Message();
4 message.what = 1;
5 handler.sendMessage(message);
6 }
7 };
剩下的工作就简单多,添加一个Timer,可以让程序运行起来了
1 timer = new Timer(true);
2 timer.schedule(task,1000, 1000); //延时1000ms后执行,1000ms执行一次
3 //timer.cancel(); //退出计时器
这个方法有三个参数:
第一个参数,是 TimerTask 类,在包:import java.util.TimerTask .使用者要继承该类,并实现 public void run() 方法,因为
TimerTask 类 实现了 Runnable 接口。
第二个参数的意思是,当你调用该方法后,该方法必然会调用 TimerTask 类 TimerTask 类 中的 run() 方法,这个参数就是这两者之间的差值,转换成汉语的意思就是说,用户调用
schedule() 方法后,要等待这么长的时间才可以第一次执行 run() 方法。
第三个参数的意思就是,第一次调用之后,从第二次开始每隔多长的时间调用一次 run() 方法。
下面定实例化一个TimerTask,这个是为Timer提供一个定时执行的内容。我在这个方法中加的是给Handler一个发送消息功能,因这在Timer的线程中,无法直接操作UI线程。
1 TimerTask task = new TimerTask(){
2 public void run() {
3 Message message = new Message();
4 message.what = 1;
5 handler.sendMessage(message);
6 }
7 };
剩下的工作就简单多,添加一个Timer,可以让程序运行起来了
1 timer = new Timer(true);
2 timer.schedule(task,1000, 1000); //延时1000ms后执行,1000ms执行一次
3 //timer.cancel(); //退出计时器
相关文章推荐
- java Time.schedule() 方法
- Android:onNewIntent()触发机制及注意事项
- Android小记:Android入门教程
- Android 使用SQLiteOpenHelper打开SD卡上的数据库
- Android 之 下拉框(Spinner)的使用
- Android开发之创建Fragment
- android shape的使用
- 安卓 图片处理
- 在android studio 1.4.1中使用opencv
- android开发较好的blog
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
- 命令行更新android sdk + gradle设置代理
- adt-bundle android-studio sdk 下载地址
- Android -- ViewDragHelper
- android orm工具GreenDao的使用
- Android沉浸式状态栏的实现
- android 源码下载备忘
- android------通用ViewHolder 通用Adapter
- Android编程实现两个Activity之间共享数据及互相访问的方法
- Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes;