Android 定时器 三种方法
来源:互联网 发布:excel怎么数据透视 编辑:程序博客网 时间:2024/04/29 09:33
抄个笔记,Android中常用的定时器,用于定时更新ui数据等。
1.Handler + Runnable定时器
private Handler mHandler;
private Runnable mRunnable;
mHandler = new Handler();
mRunnable = new Runnable() {
public void run () {
//更新数据的方法
update();
}
};
//定时启动线程(执行的线程,时间毫秒)
mHandler.postDelayed(mRunnable,4000);
//移除Handler中的线程
mHandler.removeCallbacks(mRunnable);
==================================================
2.Timer +TimerTask 定时器
Timertimer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// 执行的方法
sendMSG();
}
}, 4000); //执行的时间毫秒
//发送message消息
void sendMSG() {
//handler message消息
Message message = new Message();
message.what = MSG;
mHandler.sendMessage(message);
}------Handler接收消息机制------
class MyHandlerextends Handler {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
if (msg.what ==MSG) {
//更新数据的方法
update();
}
}
};
==================================================4.每隔一段时间执行的定时器
private Timer timer;
private Handler mShowHandler = new Handler();
//启动定时器
if (timer == null) {
timer = new Timer();
timer.scheduleAtFixedRate(new RefreshTask(), 0, 800); //每800毫秒执行一次
}
//计时器
class RefreshTask extends TimerTask {
@Override
public void run() {
//可在此加入判断,判定什么情况执行更新
// if( i=0 ) {
mShowHandler.post(new Runnable() {
@Override
public void run() {
//更新数据方法
update();
}
}
// }
});
//停止计时器
if(timer != null){
timer.cancel();
timer = null;
}
- Android 定时器 三种方法
- Android定时器三种方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- 字典树(trie)模板
- 深入了解java虚拟机
- strcpy和strncpy用法和区别
- HDU 1171 Big Event in HDU(多重背包)
- 有章法的学习c++(9)复合类型(二)
- Android 定时器 三种方法
- 牛客网--case:;break; 练习题
- 算法---求二进制中1的个数
- (Android自定义View)来来来,一起再撸一个Material风格loadingView。
- iOS事项计划
- VVDocumenter-Xcode插件的操作
- session实现带随机验证码的登陆
- javaScript 冒泡
- 1103. Integer Factorization (30)-PAT甲级真题(dfs深度优先)