当前位置: 移动技术网 > IT编程>移动开发>Android > Android定时器和Handler用法实例分析

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

异海妖仙,临沂天气预报,洗碗手套

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网