handler类型的定时器
生活随笔
收集整理的這篇文章主要介紹了
handler类型的定时器
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
一、采用Handle與線程的sleep(long)方法
Handler主要用來處理接受到的消息。這只是最主要的方法,當(dāng)然Handler里還有其他的方法供實(shí)現(xiàn),有興趣的可以去查API,這里不過多解釋。
1. 定義一個(gè)Handler類,用于處理接受到的Message。
Handler handler = new Handler() {public void handleMessage(Message msg) {// 要做的事情super.handleMessage(msg);} }; 2. 新建一個(gè)實(shí)現(xiàn)Runnable接口的線程類,如下:
public class MyThread implements Runnable {@Overridepublic void run() {// TODO Auto-generated method stubwhile (true) {try {Thread.sleep(10000);// 線程暫停10秒,單位毫秒Message message = new Message();message.what = 1;handler.sendMessage(message);// 發(fā)送消息} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} } 3. 在需要啟動(dòng)線程的地方加入下面語句: ? 1 new Thread(new MyThread()).start(); 4. 啟動(dòng)線程后,線程每10s發(fā)送一次消息。
二、采用Handler的postDelayed(Runnable, long)方法
這個(gè)實(shí)現(xiàn)比較簡(jiǎn)單一些。
1. 定義一個(gè)Handler類
Handler handler=new Handler(); Runnable runnable=new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stub//要做的事情handler.postDelayed(this, 2000);} }; 2. 啟動(dòng)計(jì)時(shí)器 ? 1 handler.postDelayed(runnable, 2000);//每?jī)擅雸?zhí)行一次runnable. 3. 停止計(jì)時(shí)器 ? 1 handler.removeCallbacks(runnable); 三、采用Handler與timer及TimerTask結(jié)合的方法 1. 定義定時(shí)器、定時(shí)器任務(wù)及Handler句柄 ? 1 2 3 4 5 6 7 8 9 10 private final Timer timer = new Timer(); private TimerTask task; Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stub// 要做的事情super.handleMessage(msg);} }; 2. 初始化計(jì)時(shí)器任務(wù) ? 1 2 3 4 5 6 7 8 9 task = new TimerTask() {@Overridepublic void run() {// TODO Auto-generated method stubMessage message = new Message();message.what = 1;handler.sendMessage(message);} }; 3. 啟動(dòng)定時(shí)器 ? 1 timer.schedule(task, 2000, 2000);轉(zhuǎn)載于:https://my.oschina.net/lhjtianji/blog/115181
總結(jié)
以上是生活随笔為你收集整理的handler类型的定时器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 底部菜单
- 下一篇: java中关于length的真确理解~~