Navigations- und Ortungssysteme Handy-Kompass Peter Ammon Michael Kaiser Thomas Zsebedits 17. Januar 2006 Handy-Kompass Übersicht Einleitung Sun Java Wireless Toolkit EclipseME Klassen aus J2ME Vorführung Berechnung – Exkurs Zeit – Berechnung der Sonnenkoordinaten Links 2 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Einleitung Handy ohne GPS-Ausstattung – Wie trotzdem navigieren? Idee: Sonnenkompass – Längengrad – Uhrzeit – Bei Nacht: Polarstern 3 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Sun Java Wireless Toolkit Java-Plattform für mobile Endgeräte – Für Handys, Organizer, Smartphones etc. – Handy-Emulator – Kompilierungstool Java-MIDlet – jad- und jar-Datei Verschiedene emulierte Endgeräte – Problem: Library nicht immer komplett von jedem Endgerät unterstützt 4 Peter Ammon, Michael Kaiser, Thomas Zsebedits Sun Java Wireless Toolkit 5 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass EclipseME Installation über Software-Update in Eclipse – http://www.eclipseme.org/updates/ Konfiguration: – Wireless Toolkit Pfad (Eclipse Preferences) – J2ME Platform auswählen (Project Preferences): „J2ME Wireless Toolkit 2.2 MIDP 2.0 All Profiles Platform“ – Jad-Datei im Root des Eclipse-Projekts – „Run as Emulated J2ME Midlet“ – Erstellung über „Create Package“ 6 Peter Ammon, Michael Kaiser, Thomas Zsebedits EclipseME – Software Update 7 Peter Ammon, Michael Kaiser, Thomas Zsebedits EclipseME – Wireless Toolkit Pfad 8 Peter Ammon, Michael Kaiser, Thomas Zsebedits EclipseME – Jad-Datei 9 Peter Ammon, Michael Kaiser, Thomas Zsebedits EclipseME – Run As… 10 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Klassen aus J2ME Unterschiede Java SDK – J2ME – J2ME ist stark abgespeckt (z.B. keine HashMaps und ArrayLists etc.) – Starterklasse wird von MIDLet abgeleitet public class MobileStart extends MIDlet { public void startApp() { //startet Applikation … } public void pauseApp () {} public void destroyApp(boolean unconditional) { //beendet Applikation notifyDestroyed(); } } 11 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Klassen aus J2ME Form – Einzelner Displayscreen (vgl. Panel) – Mit „append()“ können Items hinzugefügt werden Display – „Manager“ des Displays – Mit „setCurrent()“ wird die benötigte Form auf das Display gesetzt 12 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Klassen aus J2ME Command – Hier werden die Eingabebefehle definiert – Command(Name ,Command-Typ, Priorität) – Werden der Form hinzugefügt (addCommand()) 13 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Klassen aus J2ME CommandListener – Interface – Analog zu ActionListener – Beim Ausführen eines Commands wird die Methode „commandAction()“ aufgerufen Vorführung 14 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Exkurs Zeit Nullmeridian – Halbkreis vom Nord- zum Südpol – Senkrecht zum Äquator – Verläuft durch Sternwarte in Greenwich GMT – General Mean Time CET – Central European Time – mittlere Sonnenzeit – des 15. Längengrades – östlich vom Nullmeridian 15 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Exkurs Zeit - Zeitzonen http://uhrsucht.de/pics/zeitzone2.gif 16 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Berechnung CET – 15. Grad östlicher Länge – 12.00 Uhr mittags – Sonne steht im Süden 24.00 – Sonne: 360° / 1 d 1° / 4 min 18.00 6.00 – Betrag zum Referenzwert ermitteln 12.00 17 Peter Ammon, Michael Kaiser, Thomas Zsebedits Handy-Kompass Links http://de.wikipedia.org http://www.welt-zeit-uhr.de/ http://www.jgiesen.de/sunearth/ http://software.palmsource.de/product.php?pf=palmos&prod _id=4667 http://www.wandernonline.de/html/sonnenkompass.html http://java.sun.com/j2me/index.jsp http://java.sun.com/products/sjwtoolkit/ http://eclipseme.org/docs/index.html Download http://www.michaelkaiser.net/kompass/mobileKompass.jad 18 Peter Ammon, Michael Kaiser, Thomas Zsebedits