亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于Android中實現(xiàn)定時器的3種解決方法

 更新時間:2013年05月20日 16:58:50   作者:  
基于Android中實現(xiàn)定時器的3種解決方法
在Android開發(fā)中,定時器一般有以下3種實現(xiàn)方法:
一、采用Handler與線程的sleep(long)方法
二、采用Handler的postDelayed(Runnable, long)方法
三、采用Handler與timer及TimerTask結(jié)合的方法
下面逐一介紹:
一、采用Handle與線程的sleep(long)方法
Handler主要用來處理接受到的消息。這只是最主要的方法,當(dāng)然Handler里還有其他的方法供實現(xiàn),有興趣的可以去查API,這里不過多解釋。
1. 定義一個Handler類,用于處理接受到的Message。
復(fù)制代碼 代碼如下:

Handler handler = new Handler() {
    public void handleMessage(Message msg) {
        // 要做的事情
        super.handleMessage(msg);
    }
};

2. 新建一個實現(xiàn)Runnable接口的線程類,如下:
復(fù)制代碼 代碼如下:

public class MyThread implements Runnable {
    @Override
    public void run() {
        // TODO Auto-generated method stub
        while (true) {
            try {
                Thread.sleep(10000);// 線程暫停10秒,單位毫秒
                Message message = new Message();
                message.what = 1;
                handler.sendMessage(message);// 發(fā)送消息
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

3. 在需要啟動線程的地方加入下面語句:
復(fù)制代碼 代碼如下:

new Thread(new MyThread()).start();

4. 啟動線程后,線程每10s發(fā)送一次消息。二、采用Handler的postDelayed(Runnable, long)方法
這個實現(xiàn)比較簡單一些。
1. 定義一個Handler類
復(fù)制代碼 代碼如下:

Handler handler=new Handler();
Runnable runnable=new Runnable() {
    @Override
    public void run() {
        // TODO Auto-generated method stub
        //要做的事情
        handler.postDelayed(this, 2000);
    }
};

2. 啟動計時器
復(fù)制代碼 代碼如下:

handler.postDelayed(runnable, 2000);//每兩秒執(zhí)行一次runnable

3. 停止計時器
復(fù)制代碼 代碼如下:

handler.removeCallbacks(runnable);

三、采用Handler與timer及TimerTask結(jié)合的方法
1. 定義定時器、定時器任務(wù)及Handler句柄
復(fù)制代碼 代碼如下:

private final Timer timer = new Timer(); 
private TimerTask task; 
Handler handler = new Handler() { 
    @Override
    public void handleMessage(Message msg) { 
        // TODO Auto-generated method stub 
        // 要做的事情 
        super.handleMessage(msg); 
    }
};

2. 初始化計時器任務(wù)
復(fù)制代碼 代碼如下:

task = new TimerTask() { 
    @Override
    public void run() { 
        // TODO Auto-generated method stub 
        Message message = new Message(); 
        message.what = 1; 
        handler.sendMessage(message); 
    } 
};

3. 啟動定時器
復(fù)制代碼 代碼如下:

timer.schedule(task, 2000, 2000);

簡要說一下上面三步提到的一些內(nèi)容:
1. 定時器任務(wù)(TimerTask)顧名思義,就是說當(dāng)定時器到達(dá)指定的時間時要做的工作,這里是想Handler發(fā)送一個消息,由Handler類進(jìn)行處理。
2. java.util.Timer.schedule(TimerTask task, long delay):這個方法是說,dalay/1000秒后執(zhí)行task.只執(zhí)行一次。
java.util.Timer.schedule(TimerTask task, long delay, long period):這個方法是說,delay/1000秒后執(zhí)行task,然后進(jìn)過period/1000秒再次執(zhí)行task,這個用于循環(huán)任務(wù),執(zhí)行無數(shù)次,當(dāng)然,你可以用timer.cancel();取消計時器的執(zhí)行。

相關(guān)文章

  • Android搜索框組件SearchView的基本使用方法

    Android搜索框組件SearchView的基本使用方法

    這篇文章主要為大家詳細(xì)介紹了Android搜索框組件SearchView的基本使用方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android自定義View實現(xiàn)課程表表格

    Android自定義View實現(xiàn)課程表表格

    這篇文章主要為大家詳細(xì)介紹了Android自定義View實現(xiàn)課程表表格,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Android Studio中配置OpenCV庫開發(fā)環(huán)境的教程

    Android Studio中配置OpenCV庫開發(fā)環(huán)境的教程

    這篇文章主要介紹了Android Studio中配置OpenCV庫開發(fā)環(huán)境的教程,OpenCV有Java接口,因而也經(jīng)常被用來做安卓開發(fā),需要的朋友可以參考下
    2016-05-05
  • Android Studio實現(xiàn)簡易計算器

    Android Studio實現(xiàn)簡易計算器

    這篇文章主要為大家詳細(xì)介紹了Android Studio實現(xiàn)簡易計算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android中的Notification機(jī)制深入理解

    Android中的Notification機(jī)制深入理解

    這篇文章主要給大家介紹了關(guān)于Android中Notification機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Android自定義ViewGroup實現(xiàn)側(cè)滑菜單

    Android自定義ViewGroup實現(xiàn)側(cè)滑菜單

    這篇文章主要為大家詳細(xì)介紹了Android如何通過自定義ViewGroup實現(xiàn)側(cè)滑菜單,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-01-01
  • Android自定義view實現(xiàn)標(biāo)簽欄功能(只支持固定兩個標(biāo)簽)

    Android自定義view實現(xiàn)標(biāo)簽欄功能(只支持固定兩個標(biāo)簽)

    這篇文章主要介紹了Android自定義view實現(xiàn)標(biāo)簽欄(只支持固定兩個標(biāo)簽),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • android實現(xiàn)okHttp的get和post請求的簡單封裝與使用

    android實現(xiàn)okHttp的get和post請求的簡單封裝與使用

    這篇文章主要介紹了android實現(xiàn)okHttp的get和post請求的簡單封裝與使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Android自定義View實現(xiàn)價格區(qū)間選擇控件

    Android自定義View實現(xiàn)價格區(qū)間選擇控件

    這篇文章主要為大家詳細(xì)介紹了Android如何利用自定義View實現(xiàn)價格區(qū)間選擇控件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下
    2022-11-11
  • Flutter?+?Idea?環(huán)境搭建及配置教程

    Flutter?+?Idea?環(huán)境搭建及配置教程

    本文主要總結(jié)我實際搭建的過程,最后發(fā)現(xiàn)不一定按網(wǎng)上那些博客或者官方文檔寫的來也可以搭建成功,在這里小編給大家分享下Flutter?+?Idea?環(huán)境搭建及配置教程,感興趣的朋友參考下吧
    2021-12-12

最新評論