Java ME - Anwendungsentwicklung für Handys, PDA und Co
von: Ulrich Breymann, Heiko Mosemann
Carl Hanser Fachbuchverlag, 2006
ISBN: 9783446409132
Sprache: Deutsch
398 Seiten, Download: 11136 KB
Format: PDF, auch als Online-Lesen
Inhaltsverzeichnis | 4 | ||
Vorwort | 10 | ||
Einführung | 16 | ||
1.1 Warum Java? | 16 | ||
1.2 Einschränkungen | 18 | ||
1.3 Java Micro Edition (Java ME) | 18 | ||
1.3.1 Weitere Normierungsbestrebungen | 19 | ||
Erste Schritte | 20 | ||
2.1 Das erste Programm | 20 | ||
2.1.1 Die Werkzeuge | 20 | ||
2.1.2 Entwicklungsschritte | 21 | ||
2.2 Installationsvorbereitungen | 24 | ||
2.2.1 Packen | 24 | ||
2.2.2 Packen mit Speicherplatzminimierung | 25 | ||
2.3 Simulation der Luftschnittstelle | 26 | ||
2.4 Installation auf einem Gerät | 28 | ||
2.5 Hinter den Kulissen | 30 | ||
Konfigurationen und Profile | 32 | ||
3.1 CLDC | 33 | ||
3.1.1 CLDC und Java | 34 | ||
3.1.2 Bibliotheken für CLDC | 34 | ||
3.1.3 Einschränkungen im Vergleich zur Java SE | 35 | ||
3.2 CLDC 1.1 im Vergleich zu 1.0 | 36 | ||
3.3 CDC | 37 | ||
3.4 MIDP | 37 | ||
MIDlet-Grundlagen | 40 | ||
4.1 Der MIDlet-Lebenszyklus | 40 | ||
Anderes Verhalten im Sun WTK-Emulator | 44 | ||
4.2 MIDlet- und System-Merkmale | 45 | ||
4.3 Starten externer Anwendungen | 48 | ||
4.4 Zugriff auf Ressourcen | 49 | ||
4.4.1 jar-Verzeichnisstruktur | 50 | ||
4.4.2 Ressourcen-Datei lesen | 51 | ||
Benutzungsschnittstellen | 56 | ||
5.1 Bildschirmanzeigen verwalten | 57 | ||
5.2 Virtuelle Bildschirme | 58 | ||
5.2.1 Alert | 59 | ||
5.2.2 TextBox | 62 | ||
5.2.3 Choice | 67 | ||
5.2.4 List | 69 | ||
5.2.5 Form | 73 | ||
5.2.6 Ereignisverarbeitung für Displayable-Objekte | 75 | ||
5.3 Items – Komponenten für Formulare | 78 | ||
5.3.1 Ereignisverarbeitung für Items | 79 | ||
5.3.2 Layout von Items | 80 | ||
5.3.3 Ereignisverarbeitung in Form-Objekten | 82 | ||
5.3.4 Spacer | 83 | ||
5.3.5 StringItem | 83 | ||
5.3.6 ImageItem | 84 | ||
5.3.7 ChoiceGroup | 86 | ||
5.3.8 TextField | 88 | ||
5.3.9 DateField | 89 | ||
5.3.10 Gauge | 91 | ||
5.3.11 CustomItem | 92 | ||
5.4 Canvas | 97 | ||
5.4.1 Ereignisverarbeitung | 100 | ||
5.4.2 Verarbeitung von Tastaturereignissen | 101 | ||
5.4.3 Zeichnen mit paint() und Graphics | 102 | ||
5.5 Software-Muster für spezielle Problemstellungen | 109 | ||
5.5.1 Steuerung von Threads | 109 | ||
5.5.2 Steuerung von Runnable-Objekten | 112 | ||
5.5.3 Synchronisation von AMS und Berechnung | 113 | ||
5.5.4 Bildflackern vermeiden mit Double Buffering | 114 | ||
5.5.5 Minimierung der Zeichenoperationen | 114 | ||
5.5.6 Synchronisation von Anzeige und Berechnung | 115 | ||
5.5.7 Anwendungsbeispiel | 116 | ||
5.5.8 Synchronisation mit Display.callSerially() | 121 | ||
5.6 API für Spiele | 122 | ||
5.6.1 GameCanvas | 123 | ||
5.6.2 TiledLayer | 123 | ||
5.6.3 Sprite | 125 | ||
5.6.4 LayerManager | 127 | ||
5.6.5 Zusammenspiel | 127 | ||
5.6.6 Transparenz | 133 | ||
Record Management System | 136 | ||
6.1 Klasse RecordStore | 137 | ||
6.2 Benutzungsablauf | 138 | ||
6.3 Operationen auf Datensätzen | 139 | ||
6.3.1 Schreiben | 140 | ||
6.3.2 Lesen | 141 | ||
6.3.3 Löschen, Ändern, Datensatzgröfle | 142 | ||
6.4 Enumerationen | 143 | ||
6.4.1 Sortierte Verarbeitung | 144 | ||
6.4.2 Filter | 145 | ||
6.5 Ereignisverarbeitung | 145 | ||
6.6 Verwaltungsfunktionen | 146 | ||
Dateisystem | 148 | ||
7.1 Dateisystem-Operationen | 149 | ||
7.1.1 Speicherkarten einfügen und entfernen | 149 | ||
7.2 Verzeichnis- und Datei-Operationen | 150 | ||
7.3 Sicherheit | 154 | ||
Persönliche Informationen verwalten | 156 | ||
8.1 Aufbau | 156 | ||
8.2 Attribute | 161 | ||
8.3 Einträge verwalten | 162 | ||
8.3.1 Neue Einträge | 163 | ||
8.3.2 Einträge ändern | 166 | ||
8.3.3 Einträge löschen | 166 | ||
Multimedia | 168 | ||
9.1 Konzept | 168 | ||
9.1.1 Eigenschaften der Geräte | 170 | ||
9.2 Audio | 171 | ||
9.2.1 Einfache Tonerzeugung | 171 | ||
9.2.2 Tonfolgen | 173 | ||
9.2.3 Wiedergabe von Audio-Dateien | 174 | ||
9.2.4 Lautstärke- und andere Einstellungen | 175 | ||
9.2.5 MIDI | 177 | ||
9.2.6 Aufnahme | 178 | ||
9.3 Video | 178 | ||
9.3.1 Kameraaufnahme | 184 | ||
9.3.2 Thumbnails | 186 | ||
9.4 Ereignisverarbeitung | 187 | ||
Internet-Anbindung | 188 | ||
10.1 HTTP | 190 | ||
10.1.1 Verbindung mit GET | 191 | ||
10.1.2 Verbindung mit POST | 195 | ||
10.1.3 Cookies | 205 | ||
10.2 HTTPS | 206 | ||
10.3 Socket | 208 | ||
10.4 Datagram | 209 | ||
3D-Grafik | 212 | ||
11.1 Klassen im M3G | 214 | ||
11.1.1 Loader und Object3D | 214 | ||
11.1.2 Graphics3D | 214 | ||
11.1.3 World und Group | 218 | ||
11.1.4 Transformable und Node | 219 | ||
11.1.5 Camera und Light | 222 | ||
11.2 Ein erstes Beispiel | 222 | ||
11.3 Animation | 228 | ||
11.3.1 KeyframeSequence | 228 | ||
11.3.2 AnimationTrack und AnimationController | 229 | ||
11.3.3 Ein Animationsbeispiel | 231 | ||
11.4 Immediate Mode | 234 | ||
11.4.1 VertexBuffer und VertexArray | 235 | ||
11.4.2 Rendern im | 236 | ||
11.5 Mesh | 243 | ||
11.5.1 Spezialeffekte | 249 | ||
SMS senden und empfangen | 250 | ||
12.1 Einfache SMS senden | 251 | ||
12.2 SMS über eine Server-Verbindung senden | 253 | ||
12.3 SMS asynchron empfangen | 254 | ||
12.4 Push-Dienst – MIDlet mit einer SMS wecken | 258 | ||
12.5 Andere Arten, ein MIDlet zu wecken | 259 | ||
12.5.1 MIDlet zu einer bestimmten Zeit wecken | 260 | ||
Bluetooth | 262 | ||
13.1 Überblick Bluetooth-Technologie | 264 | ||
13.1.1 Netzwerktopologie | 264 | ||
13.1.2 Der Bluetooth-Stack | 264 | ||
13.1.3 Bluetooth-Profile | 267 | ||
13.2 Java APIs für Bluetooth | 268 | ||
13.2.1 Aufsuchen von Geräten | 274 | ||
13.2.2 Aufsuchen von Diensten | 288 | ||
13.3 Dienste nutzen | 294 | ||
13.4 Weitere Klassen der JABWT | 296 | ||
13.4.1 L2CAP | 296 | ||
13.4.2 OBEX | 298 | ||
Location API | 304 | ||
14.1 Lokalisierung | 304 | ||
14.2 Lokalisierung mit dem Location API | 307 | ||
14.2.1 Koordinaten | 310 | ||
14.2.2 Landmarken | 313 | ||
14.3 Location API Beispiele mit dem WTK 2.3 | 314 | ||
Web-Services | 322 | ||
15.1 Konzept | 323 | ||
15.2 Technische Grundlagen | 324 | ||
15.2.1 Simple Object Access Protocol – SOAP | 325 | ||
15.3 Beispiel: SOAP-Anfrage an Google | 326 | ||
15.4 Automatische Auswertung von SOAP- Nachrichten | 333 | ||
15.5 Automatische Erzeugung von SOAP- Nachrichten | 340 | ||
15.6 Andere Werkzeuge zur SOAP-Unterstützung | 341 | ||
Es funktioniert nicht! – Warum? | 342 | ||
16.1 Was tun? | 342 | ||
Werkzeuge | 344 | ||
17.1 EclipseME – ein Java ME-Plugin für Eclipse | 344 | ||
17.1.1 Java ME-Projekt anlegen und zum Laufen bringen | 345 | ||
17.1.2 Over the Air Simulation | 346 | ||
17.2 Apache Web-Server – Installation, Einrichtung und Nutzung | 347 | ||
17.2.1 Konfiguration | 349 | ||
17.2.2 Kontrolle mit dem WTK | 350 | ||
17.3 Tomcat Container | 351 | ||
17.3.1 Vorbedingungen | 352 | ||
17.3.2 Installation und Start unter Windows | 352 | ||
17.3.3 Installation und Start unter Linux | 352 | ||
17.3.4 Fehlerbehebung | 353 | ||
17.4 Automatisierte Abläufe mit Ant | 353 | ||
17.5 Web-Server mit Ant und Antenna einbinden | 354 | ||
17.6 J2ME Polish | 357 | ||
17.7 Gerätespezifische Daten finden | 357 | ||
Anhang | 358 | ||
A.1 Pfad und Systemvariablen einstellen | 358 | ||
A.1.1 Linux | 358 | ||
A.1.2 Windows XP | 358 | ||
A.2 Mini-Web-Server | 359 | ||
A.3 Bluetooth-Beispiele | 361 | ||
A.3.1 Ein OBEX Beispielprogramm | 361 | ||
A.3.2 Ein ObjectPush-Beispielprogramm | 369 | ||
A.4 JSR-Übersicht | 373 | ||
A.5 Übergreifende Spezifikation MSA | 375 | ||
A.6 XML Kurzbeschreibung | 377 | ||
A.6.1 Syntax | 378 | ||
A.6.2 Dokumenttyp-Definition | 380 | ||
A.6.3 Namensräume | 380 | ||
A.6.4 XML-Schema | 381 | ||
Literaturverzeichnis | 382 | ||
Glossar | 386 | ||
Stichwortverzeichnis | 394 | ||
Mehr eBooks bei www.ciando.com | 0 |