캘린더 항목 정보 업데이트

  1. 필요한 클래스와 인터페이스를 가져옵니다.
    import java.util.Date;
    import javax.microedition.pim.Event;
    import javax.microedition.pim.EventList;
    import javax.microedition.pim.PIM;
    import javax.microedition.pim.RepeatRule;
    
  2. openPIMList()를 호출하여 캘린더 항목 목록을 엽니다. 열려고 하는 목록의 형식(PIM.EVENT_LIST) 및 해당 목록을 열 모드를 매개 변수로 제공합니다. 목록은 다음 모드 중 하나로 열 수 있습니다.
    • READ_WRITE
    • READ_ONLY
    • WRITE_ONLY
    EventList eventList = null;
    try 
    { 
       eventList = (EventList)PIM.getInstance().openPIMList(PIM.EVENT_LIST, 
         PIM.READ_WRITE); 
    }
    catch (PimException e) 
    {
       // Handle exception.
    }
  3. 캘린더 정보를 업데이트하려면 다음 작업 중 하나를 수행합니다.

    작업

    단계

    약속 만들기

    이벤트 목록에 대해 createEvent()를 호출합니다.

    Event event = eventList.createEvent();
    

    약속 정보 추가

    Event.isSupportedField(int)를 호출하여 항목이 필드를 지원하는지 확인합니다.

    if (event.isSupportedField(Event.SUMMARY)) 
    {
      event.addString(Event.SUMMARY, Event.ATTR_NONE, 
      "Meet with customer");
    }
    if (event.isSupportedField(Event.LOCATION)) 
    {
      event.addString(Event.LOCATION, Event.ATTR_NONE, 
      "Conference Center");
    }
    Date start = new Date(System.currentTimeMillis() + 8640000);
    if (event.isSupportedField(Event.START)) 
    {
      event.addDate(Event.START, Event.ATTR_NONE, 
        start);
    }
    if (event.isSupportedField(Event.END)) 
    {
      event.addDate(Event.END, Event.ATTR_NONE, start + 
        72000000);
    }
    if (event.isSupportedField(Event.ALARM)) 
    {
      if (event.countValues(Event.ALARM) > 0) 
      {
        event.removeValue(Event.ALARM,0);
        event.setInt(Event.ALARM, 0, Event.ATTR_NONE, 
          396000);
      }
    }
    

    반복되는 약속 만들기

    1. RepeatRule 객체를 만듭니다. RepeatRule 클래스에는 COUNT, FREQUENCYINTERVAL 등의 설정 가능한 속성과 값을 나타내는 필드가 정의되어 있습니다.

    2. RepeatRule.getFields()를 호출하여 지원되는 필드의 배열을 가져옵니다.

    3. RepeatRule.setInt(int, int) 또는 RepeatRule.setDate(int, int, int, long)를 새 RepeatRule 객체에 대해 호출하여 반복되는 패턴을 정의합니다.

      RepeatRule recurring = new RepeatRule();
      recurring.setInt(RepeatRule.FREQUENCY, 
        RepeatRule.MONTHLY);
      recurring.setInt(RepeatRule.DAY_IN_MONTH, 14);
    4. Event.setRepeat(RepeatRule)를 이벤트에 대해 호출하여 반복 패턴을 약속에 할당합니다.

      EventList eventList = 
        (EventList)PIM.getInstance().openPIMList
        (PIM.EVENT_LIST, PIM.READ_WRITE);
      Event event = eventList.createEvent();
      event.setRepeat(recurring);

    약속 정보 변경

    1. setString() 등의 해당하는 set 메소드를 호출하여 기존 값을 새 값으로 바꿉니다.

    2. Event.countValues()를 호출하여 해당 필드에 값이 이미 설정되어 있는지 확인합니다.

    3. setString() 등의 해당하는 set 메소드를 사용하여 기존 값을 변경합니다.

      if (event.countValues(Event.LOCATION) > 0) 
      {
        event.setString(Event.LOCATION, 0, 
        Event.ATTR_NONE, "Board Room");
      }

    약속 저장

    1. 약속을 저장하기 전에 해당 약속이 마지막으로 저장된 이후에 변경된 약속 필드를 식별하기 위해 Event.isModified()를 호출합니다.

    2. Event.commit()을 호출합니다.

      if(event.isModified()) 
      {
        event.commit();
      }

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.