android 定时器实例,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程序设计有所帮助。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160028.html原文链接:https://javaforall.cn
相关文章
- android activity自动跳转,Android activity跳转之finish()方法的作用
- strictmode android,Android 应用性能优化-StrictMode(严格模式)
- android 获取屏幕分辨率_安卓系统分辨率设置
- android触摸屏事件,Android Touch事件分析
- Android resource linking failed_android sdk location should not
- Android webview 加载html 页面缩放的问题
- 【Android 内存优化】使用 Memory Analyzer ( MAT ) 工具分析内存 ( MAT 工具使用 | 最大对象 | 类实例个数 | 引用与被引用 | GC Roots 最短链 )
- 【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 获取要注入事件的 View 对象 | 通过反射获取 View 组件的事件设置方法 )
- 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )
- 【错误记录】Android 应用安全检测漏洞修复 ( StrandHogg 漏洞 | 设置 Activity 组件 android:taskAffinity=““ )
- [android] 自定义广播事件详解手机开发
- android Material Design详解手机开发
- 如何将您的Android手机无线连接到Ubuntu
- Android系统与Linux之间的联系(android和linux)
- Android-如何将RGB彩色图转换为灰度图方法介绍
- android自定义Android菜单背景的代码
- Android利用ViewPager实现滑动广告板实例源码
- Android中ImageView无法居中的问题解决方法
- Android下通过httpClient发送GET和POST请求的实例代码
- android获取当前接入点信息判断是ctwap还是ctnet实例代码
- Android开发学习之WallPaper设置壁纸详细介绍与实例
- Android听筒模式的具体实现实例
- android教程之使用asynctask在后台运行耗时任务
- Android图片占用内存全面分析
- Android中实现开机自动启动服务(service)实例
- Erlang实现的百度云推送Android服务端实例
- Android入门之Gallery+ImageSwitcher用法实例解析
- Android程序设计之AIDL实例详解