Как реализовать алгоритм расчета даты, при заданной цикличности?
Народ, не надо изобретать велосипедов!!! Есть прекрасный класс Calendar и его методы roll() и add(), которые решают данную задачу одной строкой. К примеру:Calendar myCal = new GregorianCalendar(2014, 1, 12); // устанавливаем нужную нам дату
myCal.add(Calendar.DAY_OF_YEAR, 4); // добавляем четыре дня 
myCal.add(Calendar.HOUR, 10); // и ещё плюсуем 10 часиков сверху
Date newDate = myCal.getTime(); // ну и получаем новую дату
(Сам для Android никогда не писал.) А нету ли у класса Time метода вроде addMillis(), или addSeconds()? Я более чем уверен, что в стандартной библиотеке классов предусмотрены какие-то операции над датой и временем, кроме чисто хранения в объектах.
UPD: Допустим, событие надо напомнить через K дней после текущего момента. В миллисекундах это Km = K * 24 * 60 * 60 * 1000....
android.text.format.Time t = new android.text.format.Time();
t.set((new java.util.Date()).getTime() + K * 24 * 60 * 60 * 1000);
...