I've been working with Java for a while now; though it's been mostly JSP/Servlets. I tried my hand at J2ME a few backs and I had a few ideas about what I wanted to try. Most of them aren't really feasible or at least will take more time than I can put into them. I have finished one though.
I have a Nokia 3120 and it's a great little phone and the calendar is great; but I always wanted a simple to-do list that just lists all tasks rather than the day-by-day layout of the calendar. So that's just what I set out to make.
The ListMaker is an application in MIDP 1.0, CLDC 1.0 so it can be used on older devices too. The ListMaker allows you add a task, set a priority ( high, normal or low ) and give an optional time and date. The date-time could be the time you enter the task or the time it should be done or whatever. The application doesn't use it. Of course, you can mark a task as done and edit existing tasks and delete a particular task, all tasks in the list or only all the ones that are complete.
With version 2 I added a 'Filter' that allows you to selectively view tasks of a particular priority. You can also chose to include those tasks of the chosen priority that are completed.
You can find the .jar file ( 24 kB ) as an attachment on this page, below. I'm not sure if you'll need it or not but just in case you do, the .jad file ( 477 B ) is also attached below.
Some functions of the application may not be immediately obvious so I've put together a short list of things you should probably know.
- The list of tasks will show only the first 15 characters of the task ( not including the date-time ). You can view complete details by selecting 'View Task'.
- The title of the tasks list will tell you if you're view all the tasks or a filtered list; it'll either say 'Tasks' or 'Tasks (Filtered)' respectively.
- While adding/ editing you can use all characters except for the 'pipe' ( | ) since I'm using that internally, behind the scenes.
- 'Filter Tasks' will show you options that give you the choice to show tasks with a certain priority or all the tasks. You can also choose to include completed tasks or not.
- Filtering tasks makes the behaviour a bit different for most options. If you add a task of a different priority from that which you've filtered by, the task will get added, but will not display since you've filtered for a different priority.If you edit a task after viewing the details and set it to a different priority, when you return to the list, you will not see it but it is still there. Similarly, if you chose not to show completed tasks and you mark a task as completed, it'll disappear from the filtered list.
- Deletion also works a little differently; all the options work only for the currently displayed tasks. So when you choose to 'Delete All' and have filtered for high priority tasks without completed then only those tasks that have a priority of high and have not been marked completed will be deleted. Similarly, if there are no completed tasks displayed and you choose 'Delete All Checked', nothing will be deleted.
- Lastly, to reduce the load on the battery and memory, the application only reads from the memory when it loads and writes back once you exit. The rest of the time, while it's running, the data is kept and manipulated in volatile memory. This means that if, for whatever reason, your phone suddenly powers off while running ListMaker, the changes you'd made and just possibly the data in storage, will be lost.
- As usual, the program has been tested quite thoroughly and I use it as part of my daily routine but I still can't guarantee that you will not lose any data. Sensitive information especially should always be backed up, no matter which application/ device you use to store it.
If you do encounter any bugs, please don't send them to me! I hate those creepy, crawly things! :D Nah! Just kidding; send them over; I'll find them a nice terrarium to live in! :D Aah, just kidding again! I'd appreciate if you could send them over and with a little information about what you were doing when you encountered the problem.