android Handler小结

Handler的使用在android开发中给我们提供了太多的便捷,它的主要作用有两个:

在新启动线程中发送消息;

在主线程中获取,处理消息;

今天这里总结一下,在项目开发中经常使用到Hanlder的几种实例:

1,延时执行函数A,只执行一次

定义消息变量:

private final static int MSG_A_START = 0x0001;

private int delayTime = 1000;

private Handler mHandler = null;

调用:

        mHandler=new Handler()
{
@Override
public void handleMessage(Message msg) {
switch (msg.what)
{
case MSG_A_START :
A();
}
}
};
if (true) {
mHandler.sendEmptyMessageDelayed(MSG_A_START , delayTime );
}

2,某段时间内一直触发执行函数A,执行N次,可设置时间间隔

手指按下时执行,抬起时停止:

手指按下:

if (mHandler != null) {
Message message = mHandler.obtainMessage(MSG_A_START );//获取消息
mHandler.sendMessage(message);//立刻出发

        mHandler.sendMessageDelayed(message, delayTime );//以delayTime 时间间隔触发
}

手指抬起:

if (mHandler != null) {
mHandler.removeMessages(MSG_A_START );

}

声明Handler: 

         mHandler=new Handler()
{
@Override
public void handleMessage(Message msg) {
switch (msg.what)
{
case MSG_A_START :
A();
}
}
};

3,与Timer结合,定义计时器,周期执行A

只需要给Handler增加计时器:

new Timer().schedule(new TimerTask()
{
@Override
public void run() {
// TODO Auto-generated method stub
mHandler.sendEmptyMessage(MSG_A_START);
}

},0,delayTime);//以delayTime时间间隔发送消息执行A,此方法可以显示循环动画播放

以上三种情况是我们比较常用到的,一起学习,一起总结下呵呵!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trent1985

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值