Chociaż wiedzą to prawie wszyscy trzeba powiedzieć wyraźnie że: komórki programuje się w Javie (konkretnie j2me: java2 micro edition). Co prawda to sam początek postu, mam gorącą prośbę: zastanówcie się nad najważniejszymi cechami Javy.
Java jest językiem:
- przenośnym
- bezpiecznym
- obiektowym
Z ostatniego wynika, że obecne są w niej mechanizmy:
- dziedziczenia
- polimorfizmu
- enkapsulacji
(nawiasem mówiąc sensem programowania obiektowego jest korzystanie z polimorfizmu o czym nazbyt często zapominamy)
Wszystkie te elementy są obecne przy programowaniu komórek.
Chcę przez to powiedzieć, że jeśli już znasz j2se (java2 standard edition) to przeniesienie się na j2me jest bardzo proste.
Dobrym pomysłem jest wpierw zdobycie środowiska (buachachacha, nieważne) - możliwości jest kilka, w szczególności może to być duży pakiet "Wireless Toolkit", bądź też jego podzbiór - "midp2" (osobiście preferuję).
Wiele razy już to pisałem - najlepszym źródłem wiedzy o Javie jest jej dokumentacja, polecam ... ehhh polecam ? ludzie to konieczność.
Wszystkie te rzeczy można pobrać ze strony sun'a. (swoją drogą - co sądzicie o układzie tej strony ? Pytam bo w literaturze panuje psychoza, jakoby był to wzorowy serwis www).
Aplikacje pisane w j2me noszą nazwę Midlet, jest to jednocześnie nazwa abstrakcyjnej klasy, w której abstrakcyjne są metody:
public void startApp()
public void pauseApp()
public void destroyApp(boolean unconditional)
Aby utworzyć Midlet musicie zdefiniować klasę dziedziczącą po Midlet i dopisać ciała tych metod.
Istotnych różnic pomiędzy j2me a j2se jest dosłownie kilka:
- brak arytmetyki zmiennoprzecinkowej (brak typów float, double)
- brak metody finalize()
- ograniczony system plików
- konieczność preweryfikacji plików .class
Kilka słów o ostatnim - Ponieważ urządzenia przenośne są znacznie mniej wydajne od stacjonarnych, postanowiono przenieść cząstkę ciężaru uruchamiania na etap tworzenia b-kodu (są to pliki *.class). Standardowo maszyna wirtualna w trakcie działania upewnia się czy kod jest bezpieczny - w j2me wykonuje się to jednokrotnie za pomocą narzędzia "preverify".
Na koniec podaję listę szczególnie praktycznych klas. Osoby zainteresowane programowaniem w j2me zachęcam do zapoznania się z ich dokumentacją oraz:
- narysowania dla nich drzewa dziedziczenia.
- zaznaczenie, które z nich są abstrakcyjne, które są interfejsami
Midlet
Display
Displayable
Graphics
Canvas
Screen
List, TextBox, Form
Item
ChoiceGroup, DateField, Gauge, ImageItem, TextField
Command
:|
Pozdrawiam