时间:2021-05-02
本文实例讲述了Android定时器和Handler用法。分享给大家供大家参考。具体分析如下:
一、环境:
主机:WIN8
开发环境:Android Studio
二、定时器使用示例:
初始化:
? 1 2 3 4 //定时器 private Timer Timer_Work = new Timer(); //工作间隔,单位:ms private final int INTERVAL_WORK = 5000;创建定时器线程:
? 1 2 3 4 5 6 7 8 9 10 /** * 构造函数 */ public Config() { //生成配置信息 generate_config_info(); //创建定时线程 Timer_Work.schedule(new Task(), INTERVAL_WORK, INTERVAL_WORK); // 定时任务 }新建任务:
? 1 2 3 4 5 6 7 8 9 /** * 定时器线程定时工作 */ private class Task extends TimerTask { @Override public void run() { generate_config_info(); } }三、定时器和Handler组合工作,更新UI示例(定时器线程不能直接更新UI):
定时器任务:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /** * 定时器线程定时工作 */ 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处理信息:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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
? 1 handler.postDelayed(runnable, 200);产生线程:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了VC中定时器的用法,分享给大家供大家参考。具体用法分析如下:定时器在VC中的使用频繁,其原型为:复制代码代码如下:WINUSERAPIUINTWI
在Android开发中,定时器一般有以下3种实现方法:一、采用Handler与线程的sleep(long)方法二、采用Handler的postDelayed(R
在Android开发中,定时器一般有以下3种实现方法:一、采用Handler与线程的sleep(long)方法二、采用Handler的postDelayed(R
本文实例讲述了JavaScript定时器常见用法。分享给大家供大家参考,具体如下:定时器定时器在javascript中的作用1、制作动画2、异步操作3、函数缓冲
方法一、使用Handler和Thread(线程)实现定时器复制代码代码如下:packagecom.xunfang.handerDemo;importandroi