2013-08-31 8 views
0

그래서 특정 활동을 하루 중 특정 시간에 수행하기를 원한다면 어떻게해야합니까? 빠른 설명이 도움이 될 것입니다. 임씨는 이것에 아주 새롭고 어떤 도움을 주셔서 감사합니다.특정 활동을 특정 시간에 수행하는 방법

+0

어떤 플랫폼을 사용하고 있습니까? 너 스스로 뭐하려고 했니? – laalto

답변

1

활동을 중간 인터체인지에서 실행하려면 Java에서 스레드를 사용할 수 있습니다. 활동을 예약 된 시간에 실행하려면 java에서 TimerTask 클래스를 사용할 수 있습니다.

import java.util.Calendar; 
import java.util.Date; 
import java.util.Timer; 
import java.util.TimerTask; 

public class ReportGenerator extends TimerTask { 

    public void run() { 
    System.out.println("Generating report"); 
    //TODO generate report 
    } 

} 

class MainApplication { 

    public static void main(String[] args) { 
    Timer timer new Timer(); 
    Calendar date = Calendar.getInstance(); 
    date.set(
     Calendar.DAY_OF_WEEK, 
     Calendar.SUNDAY 
    ); 
    date.set(Calendar.HOUR, 0); 
    date.set(Calendar.MINUTE, 0); 
    date.set(Calendar.SECOND, 0); 
    date.set(Calendar.MILLISECOND, 0); 
    // Schedule to run every Sunday in midnight 
    timer.schedule(
     new ReportGenerator(), 
     date.getTime(), 
     1000 * 60 * 60 * 24 * 7 
    ); 
    // Schedule to run every Monday in midnight 
    date.set(
     Calendar.DAY_OF_WEEK, 
     Calendar.MONDAY 
    ); 
    date.set(Calendar.HOUR, 0); 
    date.set(Calendar.MINUTE, 0); 
    date.set(Calendar.SECOND, 0); 
    date.set(Calendar.MILLISECOND, 0); 

    timer.schedule(
     new ReportGenerator(), 
     date.getTime(), 
     1000 * 60 * 60 * 24 * 7 
    ); 
    } 
} 
+0

빠른 질문, Calendar.getInstance() 란 무엇입니까? 그것은 무엇을합니까? 답장을 보내 주셔서 감사합니다. D – alaboudi

+0

Calender.getInstance()는 싱글 톤 클래스 생성에 사용됩니다. 즉, 은 해당 클래스의 인스턴스 하나만 만들고 다른 클래스는 이 클래스의 참조를 가져옵니다. –

+0

그래서 캘린더는 싱글 톤 클래스입니다. = 그 클래스의 한 인스턴스 만 존재합니다. 시원한! 서로 다른 시간에 여러 개의 알람 또는 알림이 발생하면 어떻게합니까? 나는 이드가 단지 다른 인스턴스를 호출한다고 생각 했단 말인가? – alaboudi

관련 문제