Can’t find resources about how to create a calendar app. The resources I found almost a few years old. And I found the documentation of CalendarView has many deprecate methods and mentioned Material-style CalendarView. After searching, I only find some GitHub repositories. Is there anyone could me any hint? Thanks in advance.
Best hint - Calendars are HARD! Don’t do it! But if you have to… lean on Apple’s EventKit as much as you can. Give some more detail about exactly what it is you want to do?
Thanks for replying. Actually, It is a class group project, we would like to build a calendar which can help teams to manage their tasks. For example, one group member can add a task, and set it a group tag, then everyone’s calendar in the same group will be synced. So it must have functions like add, delete and edit event. My duty is to implement this function. It seems like that EventKit is only for iOS devices. But we can’t switch to iOS. By the way, my class is mobile computing, the professor don’t talk about android development much, more focus on some mobile computing theory.
OK then. Well I’m no Android expert but a good way to think of time is like a disk… early disk management systems saw all available space as a pool of storage and extracted pieces from that contiguous chunk, then maintained a directory pointing to those storage spaces with filenames. If you can select a convenient time unit - maybe minutes, maybe seconds, then treat time as just a big amount of units you can allocate then that will go a long way toward solving the problem.
With the basic concept comes the need for a lot of helper functions, such as:
- is some person free for a given time?
- make an appointment with specified beginning and end from the unallocated pool of time and associate it with a person.
- what human-readable time does a given number of units represent?
- cancel an appointment and put it back in the pool (hint: make the unallocated time blocks contiguous again)
And there are others. This is something I have written recently and it is one time where unit testing definitely came in handy. It’s a fun and useful thing to write, but not without difficulties.
Thanks, I will continue thinking about it.
If you are interested in the idea of making your own calendar app, you should familiarize yourself with ready-made solutions, and research their experience, advantages and disadvantages. I also recommend reading blogs from IT companies.