zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

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

Android实例 分析 用法 定时器 handler
2023-06-13 09:12:40 时间

大家好,又见面了,我是你们的朋友全栈君。

本文实例讲述了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程序设计有所帮助。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160028.html原文链接:https://javaforall.cn