2012-03-06 1 views
0

Я создал приложение для конкретной даты и времени в календаре Blackberry, я пытаюсь читать дату и время, используя следующий код, но показывает его ошибку.Не удалось прочитать время из собственного события календаря

private void getEvents() { 
      try { 

      EventList eventList = (EventList)PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_ONLY); 
      Enumeration events = eventList.items(); 
       while (events.hasMoreElements()) { 
       Event event = (Event)events.nextElement(); 

       if(eventList.isSupportedField(Event.ALARM) && event.countValues(Event.ALARM) > 0) { 
        long alarm = event.getDate(Event.ALARM, 0); 
        System.out.println(alarm); 
       } 

      } 

      } 

я не уверен, что это неправильно, если петля

ответ

0

Поле Event.ALARM содержит:

поля указания относительного времени для сигнала тревоги для этого события. Данные для это поле выражается типом данных INT. Сигнал тревоги выражается в секундах и выводится путем вычитания значения тревоги с каждого даты/времени события. Например, если это поле имеет значение , то сначала сигнал тревоги возникает за 600 секунд до значения даты/времени , указанного в Event.START. Для повторного появления события сигнал тревоги вычисляется путем вычитания сохраненного значения из даты/времени возникновения конкретного события.

Значит, вам нужно получить значение из поля Event.START для даты/времени начала мероприятия. Затем вы можете вычесть значение Event.ALARM (в секундах) с начала даты/времени, чтобы получить время для любого запрошенного напоминания.

long start = event.getDate(Event.START); 
int alarm = event.getDate(Event.ALARM); 
if (alarm > 0) { 
    long reminderTime = start - (long)alarm * 1000L; 
    ... 
} 

SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy HH:mm"); 
String dateString = sdf.formatLocal(start); 
+0

long start = event.getDate (Event.START) дает значение как 1331128800000 длинное значение, как получить время и дату из этого? – user1195292

+0

Вы можете использовать SimpleDateFormat, код, добавленный выше. – Richard

+0

import java.text.SimpleDateFormat; не поддерживается в BB JDE6.0? Получение ошибки при добавлении этого – user1195292