大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
本文实例讲述了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程序设计有所帮助。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160028.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...