Я разрабатываю приложение, которое считывает все события из файла calendar.ics
, а затем отображает все события. Мой код отлично работает с отдельными событиями, и я могу извлечь все события из файла, потому что он содержит все события. Но когда я создаю повторяющиеся события, я не могу получить все события, кроме первого, потому что файл calendar.ics
содержит "RRULE"
вместо всех событий. Я пробовал "rfc2445.jar"
, но это не сработало или, может быть, я точно не знаю, как его использовать ... Есть ли какая-нибудь библиотека/код/метод/функция что-нибудь, что могло бы помочь мне разобрать и отобразить все события?Как перечислить/извлечь все повторяющиеся события из файла ics из RRULE в Android?
CalendarBuilder builder = new CalendarBuilder();
Calendar calendar = null;
calendar = builder.build(file);
Log.d("RRULE 1: ", component.getProperty("RRULE").getName());
Log.d("RRULE 2: ", component.getProperty("RRULE").getValue());
Log.d("RRULE 3: DTSTART: ",component.getProperty("DTSTART").getValue());
Log.d("RRULE 4: DTEND: ", component.getProperty("DTEND").getValue());
.......
выше фрагмент кода моего кода, и я получил следующие результаты
D/RRULE 1:: RRULE
D/RRULE 2:: FREQ=DAILY;COUNT=184
D/RRULE 3: DTSTART:: 20160701T170000
D/RRULE 4: DTEND:: 20160701T200000
я не знаю, как разобрать все события из FREQ?
Благодаря @Marten, я нашел другую библиотеку. Однако эта библиотека не давала мне дату окончания повторяющегося события, могу ли я получить ее, используя вашу библиотеку? e, g Периодическое событие ежедневно с 01/Feb - 30/Feb; Время начала 11:00 вечера - Время окончания 01:00 утра, могу ли я получить даты окончания событий? так как в этом случае дата начала и дата окончания не совпадают с событием. –
Наша библиотека может сообщить вам только начало последнего события в наборе повторений. Но вы можете просто добавить количество миллисекунд между началом и концом, чтобы получить окончание последнего события. – Marten