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

android 定时器实例,Android定时器和Handler用法实例分析本文实例讲述了android定时器和handler用法。分享给大家供大家参考。具体分析如下:一、环境:主机:win8开发环境:androidstudio二、定时器使用示例:初始化://定时器privatetimertimer_work=newtimer();//工作间隔,单位:msprivatefinalintinterval_work=5000;创建定时器线程:/***构…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文实例讲述了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.net/160028.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 音视频编解码常用知识点

    音视频编解码常用知识点目录视频播放器原理流媒体协议封装格式(容器)编解码转码帧(Frame)帧率(Framerate)分辨率比特率(码率)采样率采样位数声道数有损压缩和无损压缩帧内压缩和帧间压缩对称编码和不对称编码音频编码声音数字化三要素音频编码标准视频编码色彩空间RGB色彩空间YUV色彩空间压缩原理熵与冗余帧内编码…

    2022年7月13日
  • 面试题总结 —— JAVA高级工程师[通俗易懂]

    面试题总结 —— JAVA高级工程师[通俗易懂]面试题总结——JAVA高级工程师近期考虑换工作的问题,于是投简历面试,面试5家公司的高级Java工程师,有4家给了我offer,想着总结一下面试经验,方便最近正在寻求机会的你们一、无笔试题不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试二、三大框架方面问题1、Spring事务的隔离性,并说说每个隔离性的…

    2022年6月14日
  • hexdump 命令「建议收藏」

    hexdump 命令「建议收藏」大概整明白了-e里边这个format到底怎么写。模仿man里边的命令demo改了一个能用hexdump-e‘”0x%08_ax:”4/4″%08x”“\n”’plt|less搞清楚的含义:%08_ax:08是输出按8个字符的长度输出,高位补0;_a是输出offset;x是按16进制;4/4:第一个4是每行四次输出;第二个4是每次输出4个byte0x00000000:464c457f0001010100000000000000000x00000010:000300

    2022年9月21日
  • python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用

    python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:codedq,发送下载链接帮助你免费下载!本博客日IP超过2000,PV3000左右,急需赞助商。极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:codedq,之前的微信号好友位已满,备注:返现饿了么大量招人,我内推!Java方向!薪资不设上限,工作年龄不限…

    2022年11月1日
  • input获取焦点 原生js_原生js的input事件

    input获取焦点 原生js_原生js的input事件1.onfocus当input获取到焦点时触发2.onblur当input失去焦点时触发,注意:这个事件触发的前提是已经获取了焦点再失去焦点的时候才会触发该事件,用于判断标签为空。3.onchange当input失去焦点并且它的value值发生变化时触发,个人感觉可以用于注册时的确认密码。4.onkeydown按下按键时的事件触发,5.onkeyup当按键抬起的时候触发的事件,在该…

    2022年6月2日
  • 多线程面试题(值得收藏)「建议收藏」

    多线程面试题(值得收藏)「建议收藏」史上最强多线程面试47题(含答案),建议收藏金九银十快到了,即将进入找工作的高峰期,最新整理的最全多线程并发面试47题和答案总结,希望对想进BAT的同学有帮助,由于篇幅较长,建议收藏后细看~1、并发编程三要素?1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。2)可见性可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修…

    2022年6月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号