android 定时器实例,Android定时器和Handler用法实例分析

本文实例讲述了android定时器和handler用法。分享给大家供大家参考。具体分析如下:

一、环境:

主机:win8

开发环境:android studio

二、定时器使用示例:

初始化:

//定时器

private timer timer_work = new timer();

//工作间隔,单位:ms

private final int interval_work = 5000;

创建定时器线程:

/**

* 构造函数

*/

public config() {

//生成配置信息

generate_config_info();

//创建定时线程

timer_work.schedule(new task(), interval_work, interval_work);

// 定时任务

}

新建任务:

/**

* 定时器线程定时工作

*/

private class task extends timertask {

@override

public void run() {

generate_config_info();

}

}

三、定时器和handler组合工作,更新ui示例(定时器线程不能直接更新ui):

定时器任务:

/**

* 定时器线程定时工作

*/

private class task extends timertask {

@override

public void run() {

if (get_state() == enum_state.free)

{

connect("10.58.1.59",8906);

}

if (get_state() == enum_state.connect_success)

{

login("tiantian","");

}

if (get_state() == enum_state.login_success)

{

enter_room(1,"");

}

if (get_state() == enum_state.enter_room_success)

{

message message = new message();

message.what = 1;

handler.sendmessage(message);

}

}

}

handler处理信息:

private handler handler = new handler() {

public void handlemessage(message msg) {

switch (msg.what)

{

case 1:

{

system.out.println("sdk打开视频准备");

video(-224);

break;

}

}

super.handlemessage(msg);

}

};

四、handler和runnable组合产生线程示例:

延时200ms调用runnable

handler.postdelayed(runnable, 200);

产生线程:

handler handler = new handler();

runnable runnable = new runnable() {

@override

public void run() {

try {

int videobitrate = anychatsdk.queryuserstateint(userid, anychatdefine.brac_userstate_videobitrate);

if (videobitrate > 0)

{

handler.removecallbacks(runnable);

motherview.setbackgroundcolor(color.transparent);

}

handler.postdelayed(runnable, 200);

} catch (exception e) {

e.printstacktrace();

}

}

};

希望本文所述对大家的android程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值