berlinTrack
letztes mal : 2004.01.26, 12:48
Benutzeranleitung für...
Benutzerführung Die Bedienung der Knöpfe...
by martin_schaeffler_berlin (2004.01.26, 12:48)
Dokumentation zu BlogMobil
Dokumentation der Entwicklung einer J2ME Anwendung...
by martin_schaeffler_berlin (2004.01.26, 12:40)
alle Verlinkungen von...
koennen bei jazz2night oder hier direkt eingesehen...
by martin_schaeffler_berlin (2004.01.26, 10:20)
die fertige mobile anwedung...
heruntergeladen werden : BlogMobil (zip, 20 KB) . Es...
by martin_schaeffler_berlin (2004.01.26, 10:09)
somit ist es vollbracht...
das lesen und schreiben in blog ist ab sofort möglich...
by martin_schaeffler_berlin (2004.01.26, 02:05)
... home
...  topics

... ::collabor:: home
 
Januar 2004
Mo
Di
Mi
Do
Fr
Sa
So
 
 
 
 1 
 2 
 3 
 4 
 6 
 7 
 8 
 9 
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
27
28
29
30
31
 
 
 
You're not logged in ... login

xml version of this page

made with antville
powered by
helma object publisher
   
Montag, 26. Januar 2004
Dokumentation zu BlogMobil
Dokumentation der Entwicklung einer J2ME Anwendung


Projektbeschreibung

Zu Beginn des Semesters war nur eine Möglichkeit nutzbar, in den blog Beiträge zu senden : per Web-Browser. Einfach und komfortabel und von überall, wo ein PC mit Internetanschluss verfügbar war, möglich. Doch schon bald kam die Rede auf warblogs und die Aktualität der Beiträge wurde in den Vordergrund gerückt.
Eine erste Erweiterung war schnell gefunden : per E-Mail und dem Mail-Gateway von Herrn Schmieta konnte nun auch das Handy bzw. der PDA als Eingabegerät genutzt werden. Eindeutig eine gute und schnelle Lösung, die leider einige Nachteile mit sich brachte. Einerseits wurde die Kommunikation einseitig, in die Schreibrichtung, lesen war nicht möglich und die Beiträge wurden unter Herrn Schmietas Namen eingetragen.
Doch die Idee, per Mobiltelefon die Einträge vorzunehmen war ausgesprochen und nach kurzer Recherche war in gangbarer Weg gefunden : auf modernen Handys kann die Java Virtuell Machine (JVM) mit dem J2ME (Java 2 Mobile Edition) als Framework genutzt werden und damit (mit Einschränkungen) alle Möglichkeiten, die eine Java Anwendung bietet!


Verwendete Hilfsmittel

Zur Enwicklung eines Midlets (so heisst so ein Java-Programm auf dem Handy) können einige Tools genutzt werden. Die von mir genutzten werden im Anschluss beschrieben und es gibt natürlich noch viel mehr in den weiten des Netzes, ich erhebe keinen Anspruch auf Vollständigkeit.
Als Entwicklungsumgebung wurde von mir ecplipse verwendet, ein freies Tool welches mit Unterstützung einiger namhaften Firmen aus der IT-Branche (IBM, SUN..) in einer eigens dafür gegründeten Software Entwickler Community entwickelt wurde. Und als Framework nicht nur für Java Entwicklung nutzbar und sinnvoll ist! Aber das nur am Rande ..
Das J2ME Framework, der Handy-Emulator sowie mehrere Tutorials und eine Beschreibung (API) kann von SUN geladen werden. Ich habe mich dabei an die Version 1.0.4_01 gehalten, da nur eine Minderheit der aktuellen, java fähigen Handys Versionen oberhalb dieser unterstützen. Aktuell ist gerade J2ME, Version 2.x, die mit sehr vielversprechenden Features ausgestattet ist, welche jedoch bei unserer Anwendung nicht sehr zum tragen kommen. Das wäre wohl in einem Jahr auch auf den dann aktuellen Handys stand der Technik, bis dahin begnügen wir uns mit V 1.0.4.



Und das war es auch schon, was als Hilfsmittel benötigt wird, um eine J2ME Applikation zu erstellen. Das Verbreiten der Anwendung kann noch durch WAP Seiten erleichtert werden und dazu sind weitere Hilfsmittel nötig, doch das soll hier nicht das Hauptthema sein.
Nur Kurz : über WAP-Seiten kann einfach und schnell eine J2ME Anwendung auf ein Handy geladen werden, wobei natürlich auch ein PC mit einer Schnittstelle zu dem Handy, z.B. Seriell, Infrarot oder Bluetooth oder auch einfach ein anderes Handy mit Infrarot oder Bluetooth verwendet werden kann. WAP Seiten sind eine Alternative zu HTML Seiten, die für Mobile Geräte, die wenig Übertragungsbandbreite besitzen, geschaffen wurde. Denn die heutig übliche Art, Grafiken und Hintergründe schön und mannigfaltig einzubinden, ist für solche Geräte sinnlos, da auf ihnen aufgrund z.B. des kleinen Bildschirmes so etwas nicht anzeigbar ist. Deshalb wurde ein 'Dialekt' von HTML entwickelt, welche diese Gegebenheiten berücksichtigt. Aufbau der Sprache ist sehr stark an Hypercard (siehe Vorlesung von Herrn Mittendorfer anfang diesen Semesters, link konnte auch nach intensiver Recherche nicht gefunden werden..) angelehnt und Tutorials mannigfaltig vorhanden.


Besonderheiten der J2ME Entwicklung

Um den besonderen Bedingung gerecht zu werde, die Anwendung auf einem Mobiltelefon oder PDA zu nutzen, sollten mehrere Parameter besonders beachtet werden.



Zum einen die kleine Darstellungsfläche auf den Handybildschirmen, wobei immer vom Worst-Case-Senario ausgegangen werden sollte, dass der Bildschirm 8 Zeile mit jeweils 15 bis 20 Zeichen darstellen kann. Das ist auf dem Emulator auch als Standard vorgesehen und fällt daher schnell ins Auge.
Die Anzeige sollte deshalb auf das Nötigste beschränk sein und auch die Navigation sollte daher deutlich sein. Die Menüstruktur sollte daher besonders klar und übersichtlich sein und den Anwender durch die Applikation gut und verständlich führen. Damit verbunden ist auch eine vorsichtige Nutzung des Speichers, welcher auf Handy und PDA meist nicht sehr üppig vorhanden ist. Alle Objekte sollten nach Nutzung sorgfältig geschlossen oder auf null gesetzt werden und die interne Speicherung von Parametern nur das nötigste umfassen.
Wobei dann auch sehr umsichtig mit Datenanforderungen vom Server umgegangen werden sollte, da jedes KB kostet (bei e-plus derzeit 0,2 bis 2 Cent) und die Übertragung auch Zeit, also die Geduld des Anwenders benötigt.


Die Implementierung

Die o.g. Besonderheiten sind die Prämissen, unter denen die Anwendung BlogMobil entwickelt wurde. Die Übertragung beschränkt sich (lesend) auf .rdf Dateien, die der feed reader von Herrn Köppe zur Verfügung stellt und nur die eigentlichen Texte und deren Zusammenhang (Context) wiedergibt. Das Einlesen wird durch einen xml-Parser unterstützt, der speziell für J2ME Anwendungen geschrieben wurde.
Dabei werden zu beginn nur die Stories und deren Überschriften übertragen. In einem 2. Schritt werden dann die Kommentare zu einer Story nach Anwenderaufforderung gesondert geladen. Das Schreiben wird durch das Sender von 5 Parametern (Storynummer, Titel, Text, Benutzername und Passwort) an ein JavaScriptlet initiiert, wodurch auch nur geringe Bandbreite erforderlich ist (->Datenanforderung). Das Skriptlet setzt die Parameter um und schreibt dann direkt in die Datenbank.
Die Verwendung von PHP-Scripten wurde in diesen zusammenhang auch getestet, leider ohne Erfolg bisher.
Die Daten im Programm werden in 2 Klassen gehalten : BlogContent und BlogStory. Die Blog-Parameter, wie z.B. link und Titel und die Storys, werden dabei im BlogContent gespeichert und die Storydaten, wie Überschriften und Kommentare in der BlogStory gehalten. Die Aktualisierung der Daten erfolgt nur bei Neuanforderung durch den Anwender (->Datenspeicherung).
Die Menüsteuerung ist nur durch die Möglichkeit der Aktionen ‚back’ und ‚ok’ klar und eindeutig und durch die Überschrift hat der Anwender den Überblick, wo er sich gerade im Programm befindet (-> Menüstruktur).
Und die Darstellung der Inhalte erfolgt mit einfachen Listen und Textfeldern, die nur das wesentliche enthalten und deshalb den Anwender einfach und deutlich den Bloginhalte übermitteln (->Anzeige).


Ergebnis

Es war schon etwas Einarbeitung und Zeitaufwand nötig, um sich in die Entwicklung von J2ME Anwendungen einzufinden. Die Menüstruktur ist doch sehr anders als bei Anwendungen, die für PC/MAC geschrieben werden und ein komfortables GUI bieten können.
Trotz der o.g. Einschränkungen und eines im Vergleich zu J2EE sehr Eingeschränkten Funktionsumfanges des J2ME Frameworks ist es mir gelungen, eine benutzer- und ressourcenfreundliche Anwendung zu entwickeln, mit der es mit Hilfe eines Java - fähigen Mobiltelefons oder PDA möglich ist, Bloginhalte zu lesen und Kommentare an vorhandene Stories anzuhängen.
Erweiterungen sind natürlich möglich und nötig : So muss auch das Anlegen von Stories implementiert werden und die Möglichkeit, eine Dateien bzw. Bilder anzuhängen, sollte untersucht werden (ist derzeit nur bei wenigen Handy-Modellen möglich).
Jedoch sollte die Anwendung auf jedem neuen Handy Modell noch mal extra gestestet werden, da die jeweilige JVM nicht unbedingt den Leistungsumfang der Version 1.0.4 entsprechen und dadurch eventuell die Anwendung nicht ausführbar ist. Erfolgreich getestet wurde sie auf einem Nokia 7650. Der Test auf einem Siemens S55 verlief dagegen mit eindeutig negativem Erfolg. Durch Testen habe ich herausgefunden, dass dort die JVM nur einen StringBuffer mit 1kb Inhalt implementiert und dadurch nicht den gesamten feed (8 bis 15 kb) aufnehmen kann. Durch eine Änderung der internen Verwaltung des BlogMobils würde unverhältnismäßig viel Aufwand entstehen (xml-parser nicht benutzbar -> eigenen schreiben).



Berlin, den 26.Januar 2004

Martin Schäffler

... comment

berlinTrack