android studio 定时器,Android定时器和Handler用法实例分析
本文实例讲述了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用法实例分析相关推荐
- Android Studio中的RecyclerView的使用方法实例分析
RecyclerView的使用方法实例分析 话不多说直接上代码 主文件的布局文件,定义一个RecyclerView列表 <?xml version="1.0" encodin ...
- android studio1.2.6,1.2.2 使用Android Studio开发Android APP | 菜鸟教程
写在前面本节将介绍如何使用Android Studio开发Android APP,和前面Eclipse + ADT + SDK搭建Android开发环境一样,本节也只是介绍一些基本东西,深入的,比如快 ...
- 使用Android Studio搭建Android集成开发环境
一.Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境).它基于Intellij IDEA开发环境,旨 ...
- android+图标+i_explore+无背景,Android Studio中Android Device Monitor中的File Explore不显示文...
环境:操作系统是Mac,模拟器 问题:Android Studio中Android Device Monitor中的File Explore不显示文件 本人在自学文件存储,想查看"dada/ ...
- Android开发工具Android Studio、Android SDK和Genymotion完全配置
所谓"工欲善其事,必先利其器".Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Androi ...
- 在Android Studio中将Android工程变为Library使用
在Android Studio中将Android工程变为Library使用 转载2016-03-28 10:43:58 有时候网上会有些工程格式不是我们想要的Library格式可以直接给AS使用.这时 ...
- android studio - 解决Android Studio不停的Indexing的问题
android studio - 解决Android Studio不停的Indexing的问题 参考文章: (1)android studio - 解决Android Studio不停的Indexin ...
- 在Mac上使用android studio调试android手机
一.环境准备 1.安卓手机:Android版本为9 2.MacBook Pro 3.安卓数据线 二.adb介绍 1.adb概念 adb:全称是Android Debug Bridge,意思是Andro ...
- 【Android Studio】Android Studio 搭建开发环境(Linux Ubuntu篇)
Windows篇:[Android Studio]Android Studio 搭建开发环境(Windows篇)_dandelionela的博客-CSDN博客 Ubuntu篇参考: Ubuntu 18 ...
最新文章
- 3d触控怎么测试软件,如何检测iPhone 8的3D Touch灵敏度
- float 精度_float相加产生精度损失的原因是什么?
- Ansible中的角色使用
- 依赖注入模式中,为什么用对象而不是用数组传递?
- mysql emma_ubuntu mysql emma中文乱码问题解决
- 飞秋(FeiQ)2012版择日发布
- CentOS7安装DNS报错IPv6无法解析
- 学会这个大屏神器,低代码开发高端可视化大屏不在话下
- java applet布局_Java:Applet布局问题
- VMware Ubuntu虚拟机卡顿慢 解决方法大全
- http重定向到https
- Mathtype6.9保姆级安装教程,亲测可用-----经常踩坑
- Git服务器更换IP
- PE格式文件修复过程
- Slave_IO_Running: No 的解决
- ZABBIX3.04设置短信报警
- 【CityEngine教程文档】---01 基础教程
- Windows修改本地域名解析文件hosts
- 笔记本怎么重装系统win11
- 「C位观察」零信任:企业分布式安全管理架构 | C位