>

안드로이드 응용 프로그램에서 정기적으로 특정 메소드를 호출하려고합니다. "5 초마다"... 어떻게해야합니까 ...?


  • 답변 # 1

    메소드의 고정 기간 실행에 타이머를 사용할 수 있습니다.

    다음은 샘플 코드입니다 :

    final long period = 0;
    new Timer().schedule(new TimerTask() {
        @Override
        public void run() {
            // do your task here
        }
    }, 0, period);
    
    

  • 답변 # 2

    위의이 링크는 테스트되었으며 정상적으로 작동합니다. 매초마다 메소드를 호출하는 코드입니다. 원하는 시간 (예 : 3 초 = 3000)으로 1000 (= 1 초)을 변경할 수 있습니다.

    public class myActivity extends Activity {
    private Timer myTimer;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        myTimer = new Timer();
        myTimer.schedule(new TimerTask() {          
            @Override
            public void run() {
                TimerMethod();
            }
        }, 0, 1000);
    }
    private void TimerMethod()
    {
        //This method is called directly by the timer
        //and runs in the same thread as the timer.
        //We call the method that will work with the UI
        //through the runOnUiThread method.
        this.runOnUiThread(Timer_Tick);
    }
    
    private Runnable Timer_Tick = new Runnable() {
        public void run() {
        //This method runs in the same thread as the UI.               
        //Do something to the UI thread here
        }
    };
    }
    
    

관련 자료

  • 이전 c++ - QT 및 MinGW32가있는 Windows에서 메모리 누수 검사
  • 다음 android - 버튼 위의 스크롤 텍스트, 하단에 고정 된 버튼