캘린더 항목 정보 업데이트
- 필요한 클래스와 인터페이스를 가져옵니다.
import java.util.Date;
import javax.microedition.pim.Event;
import javax.microedition.pim.EventList;
import javax.microedition.pim.PIM;
import javax.microedition.pim.RepeatRule;
- 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.
}
- 캘린더 정보를 업데이트하려면 다음 작업 중 하나를 수행합니다.
작업
|
단계
|
약속 만들기
|
이벤트 목록에 대해 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);
}
}
|
반복되는 약속 만들기
|
RepeatRule 객체를 만듭니다. RepeatRule 클래스에는 COUNT, FREQUENCY 및 INTERVAL 등의 설정 가능한 속성과 값을 나타내는 필드가 정의되어 있습니다.
RepeatRule.getFields()를 호출하여 지원되는 필드의 배열을 가져옵니다.
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);
Event.setRepeat(RepeatRule)를 이벤트에 대해 호출하여 반복 패턴을 약속에 할당합니다.
EventList eventList =
(EventList)PIM.getInstance().openPIMList
(PIM.EVENT_LIST, PIM.READ_WRITE);
Event event = eventList.createEvent();
event.setRepeat(recurring);
|
약속 정보 변경
|
setString() 등의 해당하는 set 메소드를 호출하여 기존 값을 새 값으로 바꿉니다.
Event.countValues()를 호출하여 해당 필드에 값이 이미 설정되어 있는지 확인합니다.
setString() 등의 해당하는 set 메소드를 사용하여 기존 값을 변경합니다.
if (event.countValues(Event.LOCATION) > 0)
{
event.setString(Event.LOCATION, 0,
Event.ATTR_NONE, "Board Room");
}
|
약속 저장
|
약속을 저장하기 전에 해당 약속이 마지막으로 저장된 이후에 변경된 약속 필드를 식별하기 위해 Event.isModified()를 호출합니다.
Event.commit()을 호출합니다.
if(event.isModified())
{
event.commit();
}
|
이 정보가 도움이 되었습니까? 의견을 보내 주십시오.