Недавно писал для своего приложения реализацию календаря, и очень помогла статья: Пишем календарь на Android.
Сразу оговорюсь, код автора не очень оптимизирован в плане затрат процессорного времени, но имеет хорошую структуру разбития по классам.
П.С. Если вычистите из кода использование SimpleDateFormat, то выиграете 100-150 микросекунд, что ускорит работу данного примера в 10 раз.