Android中Timer计时器如何使用

今天就跟大家聊聊有关Android 中Timer计时器如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

公司主营业务:成都做网站、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出余干免费做网站回馈大家。

Android考虑到线程安全问题,不允许在线程中执行UI线程,在Android中,有一个很有意思的类:android.os.Handler,这个可以实现各处线程间的消息传递。先看段代码,这个实例化了一个Handler,Handler可以通过Message在多个线程通讯,我这里做的是定时recLen加1,然后以一定的格式,显示到recTime上(UI线程上的操作)。

final Handler handler = new Handler(){        public void handleMessage(Message msg) {            switch (msg.what) {                   case 1:                        recLen++;         recTime.setText(GetRecTime(recLen));                 break;                    }                    super.handleMessage(msg);            }         };

下面定实例化一个TimerTask,这个是为Timer提供一个定时执行的内容。我在这个方法中加的是给Handler一个发送消息功能,因这在Timer的线程中,无法直接操作UI线程。

TimerTask task = new TimerTask(){          public void run() {           Message message = new Message();              message.what = 1;               handler.sendMessage(message);        }    };

剩下的工作就简单多,添加一个Timer,可以让程序运行起来了

timer = new Timer(true);  timer.schedule(task,1000, 1000); //延时1000ms后执行,1000ms执行一次  //timer.cancel(); //退出计时器

说到这里,也许有些还感觉云里雾里,笔者好久没写东西,也不知道怎么把问题说的更明白,这个再贴上笔者开始的错误写法,对比错误写法,也许能让大家更快的明白过来。

TimerTask task = new TimerTask(){        public void run() {            recLen++;          recTime.setText(GetRecTime(recLen));//直接在TimerTask中操作UI线程,单步调试的时候发现,程序根本就没执行到这里      }    };    timer = new Timer(true);  timer.schedule(task,1000, 1000);

看完上述内容,你们对Android 中Timer计时器如何使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。

名称栏目:Android中Timer计时器如何使用
本文URL:https://www.cdcxhl.com/article14/gcooge.html

成都网站建设公司_创新互联,为您提供搜索引擎优化做网站自适应网站企业网站制作微信公众号营销型网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设