This stopwatch MIDlet for mobiles is a result of a little bit of curiosity in J2ME technology and the fact that my Nokia E70 lacked a stopwatch. It is not exactly rocket science, but served as a practical example when studying J2ME. If you think that sounds disturbing, I am a professional SW developer; so at lucky moments I know what I am doing…
* Stopwatch up to max 999 hours 59 minutes 59.99 seconds with 1/100 of a second accuracy. You may argue; what is the point with an accuracy of 1/100 of a second when measuring 100s of hours? And my answer is laziness, I didn’t bother to strip away those decimals for you with the impact it may have on layout/alignment. Accuracy admittedly also depends on the system timer of the device, which has not been tested on any device. And it depends on system latency when pressing a button. Design considerations have been given to ensure minimum delay from pressing button until stopwatch is started/stopped etc., but you never know what is going on in there. Don’t worry too much, it seems to do the job.
* Persistent saving of data for all stopwatch instances (but nothing saved for a stopwatch instance in reset state, which probably is the most common thing).
* Stopwatch will “keep” running even if closing the Java application when running. Saves battery if required to run the stopwatch for a long time.
* Designed with low CPU/power usage in mind. That is, update to display (which is the main CPU intensive activity) is only done as required by state of shown stopwatch instance.
* Simple key interface with what I believe is convenient use of the keys for fast and accurate use. Based on assumption that most common use is start/stop/reset. Can be used with joystick/soft buttons and/or numeric keypad.
* Up to 5 individual stopwatches each with up to 40 cumulative split and lap times.
Both MIDP1.0 and MIDP2.0 type devices are supported (by different JAR files). This should cover most Java enabled devices. Minimum screen width is 128 pixels. This is not a commercial application, and it hasn’t been tested on all sorts of devices. In fact, it was developed and tested for the Nokia E70 (MIDP2.0 352×416 pixels) and also tested on a SE K300i (MIDP2.0 128×128 pixels) and Nokia 6800 (MIDP1.0 128×128). Your device should probably have a color screen.
Nokia: 3230, 3650, 6020, 6800 (MIDP1.0), E61, E70, N70, N73 (midlet icon may be truncated by OS)
Motorola: A1200, Razr V3, Razr V3X, Razr Z3, SLVR
There are two different versions, one MIDP1.0 based and one MIDP2.0 based. The functionality is identical, except that the MIDP2.0 version supports dynamic resizing of the screen (a new feature in MIDP2.0). That can occur on some devices being able to change from vertical to horizontal layout for instance. If you don’t know anything about MIDP, or maybe don’t want to know about it, just try installing the MIDP2.0 version first. (You can also check the technical specifications for your device at the manufacturer’s site.) If it is rejected or doesn’t work, try the MIDP1.0 version. If it still doesn’t work, I have probably done something wrong.