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

android studio 定时器,Android定时器和Handler用法实例分析相关推荐

  1. Android Studio中的RecyclerView的使用方法实例分析

    RecyclerView的使用方法实例分析 话不多说直接上代码 主文件的布局文件,定义一个RecyclerView列表 <?xml version="1.0" encodin ...

  2. android studio1.2.6,1.2.2 使用Android Studio开发Android APP | 菜鸟教程

    写在前面本节将介绍如何使用Android Studio开发Android APP,和前面Eclipse + ADT + SDK搭建Android开发环境一样,本节也只是介绍一些基本东西,深入的,比如快 ...

  3. 使用Android Studio搭建Android集成开发环境

    一.Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境).它基于Intellij IDEA开发环境,旨 ...

  4. android+图标+i_explore+无背景,Android Studio中Android Device Monitor中的File Explore不显示文...

    环境:操作系统是Mac,模拟器 问题:Android Studio中Android Device Monitor中的File Explore不显示文件 本人在自学文件存储,想查看"dada/ ...

  5. Android开发工具Android Studio、Android SDK和Genymotion完全配置

    所谓"工欲善其事,必先利其器".Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Androi ...

  6. 在Android Studio中将Android工程变为Library使用

    在Android Studio中将Android工程变为Library使用 转载2016-03-28 10:43:58 有时候网上会有些工程格式不是我们想要的Library格式可以直接给AS使用.这时 ...

  7. android studio - 解决Android Studio不停的Indexing的问题

    android studio - 解决Android Studio不停的Indexing的问题 参考文章: (1)android studio - 解决Android Studio不停的Indexin ...

  8. 在Mac上使用android studio调试android手机

    一.环境准备 1.安卓手机:Android版本为9 2.MacBook Pro 3.安卓数据线 二.adb介绍 1.adb概念 adb:全称是Android Debug Bridge,意思是Andro ...

  9. 【Android Studio】Android Studio 搭建开发环境(Linux Ubuntu篇)

    Windows篇:[Android Studio]Android Studio 搭建开发环境(Windows篇)_dandelionela的博客-CSDN博客 Ubuntu篇参考: Ubuntu 18 ...

最新文章

  1. 3d触控怎么测试软件,如何检测iPhone 8的3D Touch灵敏度
  2. float 精度_float相加产生精度损失的原因是什么?
  3. Ansible中的角色使用
  4. 依赖注入模式中,为什么用对象而不是用数组传递?
  5. mysql emma_ubuntu mysql emma中文乱码问题解决
  6. 飞秋(FeiQ)2012版择日发布
  7. CentOS7安装DNS报错IPv6无法解析
  8. 学会这个大屏神器,低代码开发高端可视化大屏不在话下
  9. java applet布局_Java:Applet布局问题
  10. VMware Ubuntu虚拟机卡顿慢 解决方法大全
  11. http重定向到https
  12. Mathtype6.9保姆级安装教程,亲测可用-----经常踩坑
  13. Git服务器更换IP
  14. PE格式文件修复过程
  15. Slave_IO_Running: No 的解决
  16. ZABBIX3.04设置短信报警
  17. 【CityEngine教程文档】---01 基础教程
  18. Windows修改本地域名解析文件hosts
  19. 笔记本怎么重装系统win11
  20. 「C位观察」零信任:企业分布式安全管理架构 | C位

热门文章

  1. JAVA调用支付宝直充接口
  2. Android中集成高德地图SDK实现地图定位和导航功能(一)
  3. vue2引入高德地图
  4. libstdc++.so.6
  5. 基于51单片机的红外智能垃圾桶原理图程序设计
  6. Three加载三维模型频闪问题(对数深度缓存)
  7. python学习--正则表达式
  8. 我的世界服务器老是文件损坏,我的世界角色卡死存档损坏修复教程
  9. docker 容器后台运行
  10. 虚拟串口驱动 开发_服务虚拟化如何与测试驱动的开发相关