24

AndroidでTimerTask関数のドキュメントを見つけるのに苦労しています。TimerTaskを使用して定期的にスレッドを実行する必要がありますが、これを実行する方法がわかりません。アドバイスや例をいただければ幸いです。

4

3 に答える 3

71

私はこのようなものを実装しましたが、うまくいきます:

    private Timer mTimer1;
    private TimerTask mTt1;
    private Handler mTimerHandler = new Handler();

    private void stopTimer(){
        if(mTimer1 != null){
            mTimer1.cancel();
            mTimer1.purge();
        }
    }

    private void startTimer(){
        mTimer1 = new Timer();
        mTt1 = new TimerTask() {
            public void run() {
                mTimerHandler.post(new Runnable() {
                    public void run(){
                        //TODO
                    }
                });
            }
        };

        mTimer1.schedule(mTt1, 1, 5000);
    }
于 2012-04-05T14:08:07.423 に答える
38

を使用すると、メソッドのいずれかを使用してTimerをスケジュールすると、新しいスレッドが自動的に作成されます。TimerTaskschedule

例:

Timer t = new Timer();
t.schedule(myTimerTask, 1000L);

これにより、myTimerTask1 秒ごとにそのタイマーに属するスレッドで実行されるタイマーが作成されます。

于 2012-04-05T13:52:28.093 に答える
11

これは、タイマー タスクの完璧な例です。

Timer timerObj = new Timer();
TimerTask timerTaskObj = new TimerTask() {
    public void run() {
       //perform your action here
    }
};
timerObj.schedule(timerTaskObj, 0, 15000);
于 2016-11-25T06:08:47.157 に答える