Mobil Java fejlesztés

Az egyetemen van egy "Beágyazott rendszerek fejlesztése" nevű tantárgyunk, ami igaziból Java fejlesztést takar mobiltelefonra.

Na szóval ebből van egy házi feladat: valamilyen saját alkalmazást kell fejleszteni, dokumentálni és beadni. Ez ad a vizsgajegyből maximum 2/5-öd részt, azaz ha nem csinálom meg, akkor max. 3-ast kaphatok. Én ebből presztízskérdést csináltam, szal gondoltam: mit nekem egy kis mobil alkalmazás?

Le is fejlesztettem, aztán amikor nagy nehezen készen lett kiderült, hogy emulátorban ugyan f@szán működik, de a HTC-men elindul, de új teendőt felvinni nem tudok (ja, egy kategorizálható teendőlistát valósítottam meg, hogy ne kelljen pocket word-be írnom amit nem akarok elfelejteni, pl. a Focus hibalistája :( ). Na ez a cucc a Nokiára már nem is települt, azt mondta, hogy "Sikertelen jogosultságellenőrzés" vagy valami hasonló.

Na ezzel szívtam kb. 3 nap szabadidejét. (ami leginkább a tegnap délutánt jelenti, este 11-ig bezárólag)

Nyilván semmit nem találtam erről a hibaüzenetről, a telefonokon meg konzol sincs, hogy oda írjon valami hibaüzenetet.

Végső elkeseredésemben átállítottam a Nokia nyelvét angolra (merthogy azon legalább hibaüzenet volt, amiből elindulhattam). Azt mondta: "Authorisation failed". Igen, AuthoriSation, így, S-sel. Aztán ennek köszönhettem, hogy rátaláltam a megoldásra, mert mások is ezen voltak fennakadva. :)

Szóval a megoldás: voltam olyan hülye, hogy java*.* csomagok helyett használtam egy com.sun.* csomagot is, ami az emulátorban implementálva és dokumentálva van, hogy része a szabványnak, de igazából meg nem és a telefonokon nincs is.

Gyorsan kikommenteltem ezt a részt, próba: és lőn: működik mindkét telefonon! Királyság! Győztem! :D

Utána egy laza fél órácska telt el azzal, hogy átírjam másképp a cuccot, hogy azért megcsinálja azt, amit ebből a vacakból használtam. Ja, ez a dátumkezelés volt. És rájöttem, hogy teljesen felesleges volt, mert ugyan a java.util.Calendar osztály absztrakt (ennek használtam egy Sun-os CalendarImpl-jét), de vannak statikus metódusai és egy Calendar.getInstance() hívással ugyanúgy megkaphatom, mintha a CalendarImpl-et példányosítottam volna. És ez még szabványos is.

Konklúzió: megint hülye voltam és RTFM. :P