<翻譯>Android中定時任務的實現

翻譯自:http://android-developers.blogspot.sg/2007/11/stitch-in-time.html?m=0

1.利用TimerTask實現任務的定時執(zhí)行

    TextView shoothzj;
    int count = 0;//用于計數
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        shoothzj = (TextView) findViewById(R.id.shoothzj);
        Timer timer = new Timer();//新建一個Timer
        timer.schedule(new UpdateTimeTask(),100,200);
        //通過schedule方法執(zhí)行一個TimerTask,Timertask是一個抽象類,必須重寫它的run方法。
        //task,long a,long b代表的是先等待a毫秒的延遲執(zhí)行任務,然后每次等待大約b時間執(zhí)行任務。
    }
    class UpdateTimeTask extends TimerTask{

        @Override
        public void run() {
            count++;
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    shoothzj.setText("這是"+"第"+count+"次");
                }
            });
        }
    }

2.利用Handler實現定時任務的操作

TextView shoothzj;
int count = 0;
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mHandler = new Handler();//初始化handler
    shoothzj = (TextView) findViewById(R.id.shoothzj);
    mHandler.postDelayed(new UpdateTimeTask(),200);//延遲200,執(zhí)行這個任務
}
class UpdateTimeTask extends TimerTask{
    @Override
    public void run() {
        count++;
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                shoothzj.setText("這是"+"第"+count+"次");//執(zhí)行完畢
                mHandler.postDelayed(new UpdateTimeTask(),100);//延遲100,再執(zhí)行這個任務
            }
        });
    }
}

如果你想要取消這個post事件,你可以使用handler的removeCallbacks(TimerTask task)方法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評論 25 708
  • 在Android中經常需要定時循環(huán)執(zhí)行某一段代碼,大家首先想到的是Timer,在一般的場合下,Timer和...
    一只小菜鳥的進階之路閱讀 8,237評論 0 6
  • Timer 定時器相信都不會陌生,之所以拿它來做源碼分析,是發(fā)現整個控制流程可以體現很多有意思的東西。 在業(yè)務開發(fā)...
    石先閱讀 6,507評論 2 13
  • 今天上午在中校區(qū)東配樓召開生物大組會,主要內容是聽取三位參加青基賽決賽的三位同志的試講并進行評價。 三位同志各具特...
    春日暖陽陽閱讀 272評論 0 0
  • 莫名的 突然就變得憂傷起來 說不清楚到底是因為什么 歲月像一張網 把我緊緊地纏繞 無論如何掙扎都逃不脫 窒息的感...
    五月的荷閱讀 305評論 0 2

友情鏈接更多精彩內容