Die Portierung eines J2ME Midlets auf den Blackberry kann zu argem Haarausfall fuehren.
Wenn man viel Glueck hat kann man direkt das JAR & JAD auf dem Blackberry installieren, allerdings dann direkt auf dem Geraet, denn: der Blackberry Desktop Manager / Software als Deployment Tool benoetigt zwingend ein .alx und ein .cod File. Das alx File dient dabei quasi als Deployment Descriptor.
Ein weiterer Umweg ist es von Hand auf der Kommandozeile via dem bin/rapc.exe aus dem Blackberry JDE Toolkit nach .cod zu uebersetzen. Wenn es dabei einen "too large error" wirft: Die .cod Files haben ein nervendes 64 KB Limit pro Application oder Ressourcen "Paeckchen". Dem kann man u.U. erfolgreich entgegentreten, wenn man alle PNG Bilder durch z.B. Irfanview Compression Level 9 jagt. Aber Achtung: Irfanview kann keine 8Bit Transparenz, anscheinend nur 1Bit. Daher unbedingt nach der Batch-Bearbeitung die Transparenzen pruefen.
Das Einlesen/Parsen eines Config Files auf dem Blackberry ist ungewohnt lahm (I/O !). Hier kann ein intelligentes Caching helfen. Z.B. eine simple Hashtable.
Ein weiterer Umstand der zur Irritation fuehren duerfte: das J2ME auf dem Blackberry ist i.e.S. keines, sondern wird quasi durch deren RIM API gekapselt, was teilweise zu Effekten fuehrt, die man nicht gewohnt, aber ggf. sogar so richtig sind. So wird ein paint() eines (Game)Canvas erst am Ende (!) der Methode startApp() ausgefuehrt. Dem kann man mit einem separaten paint Thread abhelfen, den man gleich im Konstruktor startet.
Die kleinste J2ME Schriftart auf dem Blackberry ist etwas riesig. Abhilfe waere ein Bitmap Font, allerdings laufen J2ME Midlets schon so nicht sonderlich schnell auf dem Blackberry, ich wuerde daher in den meisten Faellen eher davon abraten. Ob eine Art "mixed Development" moeglich ist, also ein J2ME Midlet schreiben, was einen Blackberry system built-in Font von der RIM API benutzt konnte ich nicht herausfinden. Wenn hier noch jemand einen Tipp hat unbedingt melden
Die RIM API des Blackberry ist sehr umfangreich und nuetzlich wenn man eine schoene GUI basteln moechte (sogen. CLDC Application). Wenn man aber nur ein Midlet portieren und am Code nichts aendern moechte oder soll, kann man nicht darauf zurueckgreifen. Wenn doch, dann hat man wenigstens mehr kleinere built-in Fonts.
Die JDE kann J2ME live debuggen (!) und profilen (!), ist aber ansonsten von der Bedienung her etwas duerftig und kann nicht mit Eclipse mithalten. Ein Gebrauch von beiden IDEs ist anzuraten, mein Tipp: alles mit Eclipse developen und mit der JDE debuggen & profilen.
Die JDE Version sollte zur Firmware des Blackberry passen. Die Firmware des Blackberry erfaehrt man ueber den Blackberry Desktop Manager (auch hier sollte die Version passen).
Freitag, 5. September 2008
Blackberry Development / Deployment + J2ME Midlet Portierung Tipps
Trackbacks
Trackback-URL für diesen Eintrag
Keine Trackbacks
Kommentare
Ansicht der Kommentare:
(Linear | Verschachtelt)
Ich habe erst neu mein Bold9700 und bin bei weitem noch nicht so weit wie du. sobald ich mich eingearbeitet habe, melde ich mich nochmal. danke für den artikel
#1
Vodafone Blackberry
(Homepage)
am
17.11.2009 04:50
(Antwort)