개발 중에는 때때로 고정 된 기간에 특정 작업을 수행해야합니다. 예를 들어, UI의 컨트롤은 시간이 지남에 따라 변경되어야하며 Java가 제공하는 타이머의 도구 클래스, 즉 타이머 및 타이머 스탁을 사용할 수 있습니다.
타이머는 몇 가지 중요한 방법을 가진 일반 클래스입니다. Timertask는 스레드에서 run () 메소드와 유사한 추상 메소드 run ()을 가진 추상 클래스입니다. 타이머를 사용하여 객체를 만들고이 개체의 일정 방법을 사용 하여이 간격 작업을 완료합니다.
일정 방법에는 세 가지 매개 변수가 있습니다
첫 번째 매개 변수는 Type Timertask의 객체입니다. Timertask를 구현하는 run () 메소드는 주기적으로 실행 해야하는 작업입니다.
두 번째 매개 변수에는 두 가지 유형이 있습니다. 첫 번째는 긴 유형이며, 이는 실행을 시작하는 데 걸리는 시간을 나타내고 다른 하나는 날짜 유형이며, 이는 그 시간 이후에 실행을 시작 함을 나타냅니다.
세 번째 매개 변수는 실행 사이클이며 긴 유형입니다.
일정 방법에는 2 파라미터 실행 과부하가 있습니다. 첫 번째 매개 변수는 여전히 Timertask이며, 두 번째 양식은 길이로 표시됩니다. 날짜의 경우 특정 시간이 지나면 실행됩니다.
타이머는 스레드로 일정 방법을 사용하여 Timertask의 스케줄링을 완료합니다. 다중 타이머스크는 타이머를 공유 할 수 있습니다. 즉, 타이머 개체는 스케줄 메소드를 한 번 호출하여 스레드를 만듭니다. 일정을 한 번 호출 한 후 Timertask는 무제한으로 루프를 풀고 Timer 's Cance ()를 사용하여 작업을 중지합니다. 물론 동일한 타이머가 취소 () 메소드를 한 번 실행 한 후 모든 타이머 스레드가 종료됩니다.
용법:
// true이 타이머가 데몬 모드에서 실행됨을 의미합니다 (최우선 순위가 낮고 타이머가 프로그램을 종료하고 자동으로 종료) java.util.timer timer = new java.util.timer (true); Timertask Task = New Timertask () {public void run () {// 여기에 실행될 때마다 실행 해야하는 코드를 넣습니다. }}; // 다음은 작업 예약을위한 몇 가지 방법입니다. // 시간은 날짜 유형 : 지정된 시간에 한 번 실행됩니다. TIMER.SCEDULE (작업, 시간); // 처음은 날짜 유형이고, 기간은 길고, 처음부터 밀리 초마다 실행되었음을 나타냅니다. TIMER.SCEDULE (작업, 처음, 기간); // 지연이 길다. TIMER.SCEDULE (작업, 지연); // 지연이 길고주기가 길다 : 지연 후 밀리 초가 지나면 지금은 밀리 초마다 실행되었다. TIMER.SCEDULE (작업, 지연, 기간); 샘플 코드 :
android.app.Activity 가져 오기; android.os.bundle 가져 오기; android.os.handler 가져 오기; android.os.message 가져 오기; java.util.timer 가져 오기; java.util.timertask 가져 오기; 공개 클래스 TimertASKActivity는 활동 {private Timer Mtimer; @override protected void onecreate (Bundle SavedInstancestate) {super.oncreate (savedinstancestate); // 초기 타이머 mtimer = new Timer (); // 시작 타이머 작업 settimertask (); } @override protected void ondestroy () {super.ondestroy (); // 타이머를 취소 mtimer.cancel (); } private void settimertask () {mtimer.schedule (new Timertask () {@override public void run () {message message = new Message (); 메시지 = 1; doactionHandler.sendMessage (메시지);}, 1000 milliseconds 이후에 1000 milliseconds*/)를 의미한다는 것을 의미합니다. } / ** * 어떤 조치를 취하십시오 * / 개인 핸들러 doActionHandler = new Handler () {@override public void handlemessage (message msg) {super.handleMessage (msg); int msgid = msg. what; 스위치 (msgid) {case 1 : // 일부 작업 중단; 기본값 : 브레이크; }}}; }위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.