android handler 封装,什么是Handler    Handler是Android消息机制的上层接口,它为我们封装了许多底层的细节,让我们能够很方便的使用底层的消息机制。Handle...

什么是Handler

Handler是Android消息机制的上层接口,它为我们封装了许多底层的细节,让我们能够很方便的使用底层的消息机制。Handler的最常见应用场景之一便是通过Handler在子线程中间接更新UI。Handler的作用主要有两个:一是发送消息;二是处理消息,它的运作需要底层Looper和MessageQueue的支撑。MessageQueue即消息队列,它的底层用单链表实现;Looper则负责在一个循环中不断从MessageQueue中取消息,若取到了就交由Handler进行处理,否则便一直等待。关于Looper需要注意的一点是除了主线程之外的其他线程中默认是不存在Looper的。主线程中之所以存在,是因为在ActivityThread被创建时会完成初始化Looper的工作。

特性

支持操作 :

start

pause

resume

cancel

使用

allprojects {

repositories {

...

maven { url 'https://jitpack.io' }

}

}

dependencies {

...

compile 'com.github.xesam:AndroidTimer:v0.1'

}

TODO

add ticker sequence

使用

CountTimer

new CountTimer(100) {

@Override

public void onTick(long millisFly) { // millisFly is the Elapsed time at *Running State*

vCountSwitcher.setText((millisFly) + "");

Log.d("onTick", millisFly + "");

}

};

CountDownTimer

new CountDownTimer(10_000, 100) {

@Override

public void onTick(long millisUntilFinished) { // millisUntilFinished is the left time at *Running State*

Log.d("onTick", millisFly + "");

}

@Override

public void onCancel(long millisUntilFinished) {

}

@Override

public void onPause(long millisUntilFinished) {

}

@Override

public void onResume(long millisUntilFinished) {

}

@Override

public void onFinish() {

}

};

使用一个 Handler 同时管理多个定时任务

创建多个任务:

MultiCountTimer multiCountTimer = new MultiCountTimer(100);

multiCountTimer.add(new CounterTimerTask(1) {

@Override

public void onTick(long millisFly) {

vMulti1.setText("multi_1:" + millisFly);

}

}).registerTask(new CounterTimerTask(2, 100) {

@Override

public void onTick(long millisFly) {

vMulti2.setText("multi_2:" + millisFly);

}

}).registerTask(new CounterTimerTask(3, 1000) {

@Override

public void onTick(long millisFly) {

vMulti3.setText("multi_3:" + millisFly);

}

});

multiCountTimer.startAll();

取消任务:

multiCountTimer.cancel(2);

或者

multiCountTimer.cancelAll();

截图:

840fee6847720ad589476034259ddc3e.png

总结

以上所述是小编给大家介绍的Android使用Handler实现定时器与倒计时器功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值