How to run a Runnable thread in Android at defined intervals?

后端 未结 11 1956
青春惊慌失措
青春惊慌失措 2020-11-22 02:50

I developed an application to display some text at defined intervals in the Android emulator screen. I am using the Handler class. Here is a snippet from my cod

11条回答
  •  伪装坚强ぢ
    2020-11-22 03:09

    For repeating task you can use

    new Timer().scheduleAtFixedRate(task, runAfterADelayForFirstTime, repeaingTimeInterval);
    

    call it like

    new Timer().scheduleAtFixedRate(new TimerTask() {
                @Override
                public void run() {
    
                }
            },500,1000);
    

    The above code will run first time after half second(500) and repeat itself after each second(1000)

    Where

    task being the method to be executed

    after the time to initial execution

    (interval the time for repeating the execution)

    Secondly

    And you can also use CountDownTimer if you want to execute a Task number of times.

        new CountDownTimer(40000, 1000) { //40000 milli seconds is total time, 1000 milli seconds is time interval
    
         public void onTick(long millisUntilFinished) {
          }
          public void onFinish() {
         }
        }.start();
    
    //Above codes run 40 times after each second
    

    And you can also do it with runnable. create a runnable method like

    Runnable runnable = new Runnable()
        {
            @Override
            public void run()
            {
    
            }
        };
    

    And call it in both these ways

    new Handler().postDelayed(runnable, 500 );//where 500 is delayMillis  // to work on mainThread
    

    OR

    new Thread(runnable).start();//to work in Background 
    

提交回复
热议问题