Java ME - Anwendungsentwicklung für Handys, PDA und Co
von: Ulrich Breymann, Heiko Mosemann
Carl Hanser Fachbuchverlag, 2008
ISBN: 9783446416314
Sprache: Deutsch
449 Seiten, Download: 4923 KB
Format: PDF, auch als Online-Lesen
Inhaltsverzeichnis | 6 | ||
Vorwort | 12 | ||
1 Einführung | 18 | ||
1.1 Warum Java? | 18 | ||
1.2 Einschränkungen | 20 | ||
1.3 Java Micro Edition (Java ME) | 20 | ||
1.3.1 Weitere Normierungsbestrebungen | 21 | ||
2 Erste Schritte | 22 | ||
2.1 Das erste Programm | 22 | ||
2.1.1 Die Werkzeuge | 22 | ||
2.1.2 Entwicklungsschritte | 23 | ||
2.2 Installationsvorbereitungen | 26 | ||
2.2.1 Packen | 26 | ||
2.2.2 Packen mit Speicherplatzminimierung | 28 | ||
2.3 Simulation der Luftschnittstelle | 28 | ||
2.4 Installation auf einem Gerät | 30 | ||
2.5 Hinter den Kulissen | 32 | ||
3 Konfigurationen und Profile | 34 | ||
3.1 CLDC | 35 | ||
3.1.1 CLDC und Java | 36 | ||
3.1.2 Bibliotheken für CLDC | 36 | ||
3.1.3 Einschränkungen im Vergleich zur Java SE | 37 | ||
3.2 CLDC 1.1 im Vergleich zu 1.0 | 38 | ||
3.3 CDC | 39 | ||
3.4 MIDP | 39 | ||
4 MIDlet-Grundlagen | 42 | ||
4.1 Der MIDlet-Lebenszyklus | 42 | ||
4.2 MIDlet- und System-Merkmale | 47 | ||
4.3 Starten externer Anwendungen | 50 | ||
4.4 Zugriff auf Ressourcen | 52 | ||
4.4.1 jar-Verzeichnisstruktur | 52 | ||
4.4.2 Ressourcen-Datei lesen | 54 | ||
5 Benutzungsschnittstellen | 58 | ||
5.1 Bildschirmanzeigen verwalten | 59 | ||
5.2 Virtuelle Bildschirme | 60 | ||
5.2.1 Alert | 61 | ||
5.2.2 TextBox | 65 | ||
5.2.3 Choice | 69 | ||
5.2.4 List | 71 | ||
5.2.5 Form | 75 | ||
5.2.6 Ereignisverarbeitung für Displayable-Objekte | 77 | ||
5.3 Items – Komponenten für Formulare | 80 | ||
5.3.1 Ereignisverarbeitung für Items | 81 | ||
5.3.2 Layout von Items | 81 | ||
5.3.3 Ereignisverarbeitung in Form-Objekten | 83 | ||
5.3.4 Spacer | 85 | ||
5.3.5 StringItem | 85 | ||
5.3.6 ImageItem | 86 | ||
5.3.7 ChoiceGroup | 88 | ||
5.3.8 TextField | 90 | ||
5.3.9 DateField | 90 | ||
5.3.10 Gauge | 92 | ||
5.3.11 CustomItem | 93 | ||
5.4 Canvas | 98 | ||
5.4.1 Ereignisverarbeitung | 101 | ||
5.4.2 Verarbeitung von Tastaturereignissen | 102 | ||
5.4.3 Zeichnen mit paint() und Graphics | 103 | ||
5.5 Software-Muster für spezielleProblemstellungen | 110 | ||
5.5.1 Steuerung von Threads | 110 | ||
5.5.2 Steuerung von Runnable-Objekten | 113 | ||
5.5.3 Synchronisation von AMS und Berechnung | 114 | ||
5.5.4 Bildflackern vermeiden mit Double Buffering | 115 | ||
5.5.5 Minimierung der Zeichenoperationen | 115 | ||
5.5.6 Synchronisation von Anzeige und Berechnung | 116 | ||
5.5.7 Anwendungsbeispiel | 117 | ||
5.6 API für Spiele | 123 | ||
5.6.1 GameCanvas | 123 | ||
5.6.2 TiledLayer | 124 | ||
5.6.3 Sprite | 125 | ||
5.6.4 LayerManager | 128 | ||
5.6.5 Zusammenspiel | 128 | ||
5.6.6 Transparenz | 133 | ||
5.6.7 Game Builder | 135 | ||
5.7 2D-Grafik mit SVG | 135 | ||
5.7.1 Animierte SVG-Grafik | 139 | ||
5.7.2 Manipulation von SVG-Grafiken | 141 | ||
6 Record Management System | 148 | ||
6.1 Klasse RecordStore | 149 | ||
6.2 Benutzungsablauf | 150 | ||
6.3 Operationen auf Datensätzen | 151 | ||
6.3.1 Schreiben | 152 | ||
6.3.2 Lesen | 153 | ||
6.3.3 Löschen, Ändern, Datensatzgröße | 155 | ||
6.4 Enumerationen | 155 | ||
6.4.1 Sortierte Verarbeitung | 156 | ||
6.4.2 Filter | 157 | ||
6.5 Ereignisverarbeitung | 158 | ||
6.6 Verwaltungsfunktionen | 158 | ||
7 Dateisystem | 160 | ||
7.1 Dateisystem-Operationen | 161 | ||
7.1.1 Speicherkarten einfügen und entfernen | 161 | ||
7.2 Verzeichnis- und Datei-Operationen | 162 | ||
7.3 Sicherheit | 166 | ||
8 Persönliche Informationen verwalten | 168 | ||
8.1 Aufbau | 168 | ||
8.2 Attribute | 173 | ||
8.3 Einträge verwalten | 174 | ||
8.3.1 Neue Einträge | 175 | ||
8.3.2 Einträge ändern | 178 | ||
8.3.3 Einträge löschen | 178 | ||
9 Multimedia | 180 | ||
9.1 Konzept | 180 | ||
9.1.1 Eigenschaften der Geräte | 182 | ||
9.2 Audio | 183 | ||
9.2.1 Einfache Tonerzeugung | 183 | ||
9.2.2 Tonfolgen | 185 | ||
9.2.3 Wiedergabe von Audio-Dateien | 186 | ||
9.2.4 Lautstärke- und andere Einstellungen | 187 | ||
9.2.5 MIDI | 189 | ||
9.2.6 Aufnahme | 190 | ||
9.3 Video | 190 | ||
9.3.1 Kameraaufnahme | 196 | ||
9.3.2 Thumbnails | 198 | ||
9.4 Ereignisverarbeitung | 199 | ||
10 Internet-Anbindung | 200 | ||
10.1 HTTP | 202 | ||
10.1.1 Verbindung mit GET | 203 | ||
10.1.2 Verbindung mit POST | 207 | ||
10.1.3 Cookies | 217 | ||
10.2 HTTPS | 218 | ||
10.3 Socket | 220 | ||
10.4 Datagram | 221 | ||
11 3D-Grafik | 224 | ||
11.1 Klassen im M3G | 226 | ||
11.1.1 Loader und Object3D | 226 | ||
11.1.2 Graphics3D | 226 | ||
11.1.3 World und Group | 229 | ||
11.1.4 Transformable und Node | 232 | ||
11.1.5 Camera und Light | 234 | ||
11.2 Ein erstes Beispiel | 235 | ||
11.3 Animation | 240 | ||
11.3.1 KeyframeSequence | 240 | ||
11.3.2 AnimationTrack und AnimationController | 241 | ||
11.3.3 Ein Animationsbeispiel | 243 | ||
11.4 Immediate Mode | 246 | ||
11.4.1 VertexBuffer und VertexArray | 247 | ||
11.4.2 Rendern im Immediate Mode | 248 | ||
11.5 Mesh | 255 | ||
11.5.1 Spezialeffekte | 261 | ||
11.6 Das OpenGL ES API | 262 | ||
11.6.1 Initialisierung | 263 | ||
11.6.2 3D-Daten | 265 | ||
11.6.3 Szene rendern | 267 | ||
12 SMS senden und empfangen | 272 | ||
12.1 Einfache SMS senden | 273 | ||
12.2 SMS über eine Server-Verbindung senden | 275 | ||
12.3 SMS asynchron empfangen | 277 | ||
12.4 Push-Dienst – MIDlet mit einer SMS wecken | 281 | ||
12.5 Andere Arten, ein MIDlet zu wecken | 281 | ||
12.5.1 MIDlet zu einer bestimmten Zeit wecken | 282 | ||
13 Bluetooth | 284 | ||
13.1 Überblick Bluetooth-Technologie | 286 | ||
13.1.1 Netzwerktopologie | 286 | ||
13.1.2 Der Bluetooth-Stack | 286 | ||
13.1.3 Bluetooth-Profile | 289 | ||
13.2 Java APIs für Bluetooth | 290 | ||
13.2.1 Aufsuchen von Geräten | 293 | ||
13.2.2 Aufsuchen von Diensten | 306 | ||
13.3 Dienste nutzen | 312 | ||
13.4 Weitere Klassen der JABWT | 316 | ||
13.4.1 L2CAP | 316 | ||
13.4.2 OBEX | 318 | ||
14 Location API | 324 | ||
14.1 Lokalisierung | 324 | ||
14.2 Lokalisierung mit dem Location API | 327 | ||
14.2.1 Koordinaten | 330 | ||
14.2.2 Landmarken | 334 | ||
14.3 Location API-Beispiele mit dem WTK | 335 | ||
14.4 Location API-Beispiele mit realen Geräten | 338 | ||
15 Web-Services | 344 | ||
15.1 Konzept | 345 | ||
15.2 Technische Grundlagen | 346 | ||
15.2.1 Simple Object Access Protocol – SOAP | 347 | ||
15.3 Beispiel: SOAP-Anfrage an Google | 348 | ||
15.4 Automatische Auswertung vonSOAP-Nachrichten | 354 | ||
15.5 Automatische ErzeugungSOAP-Nachrichten | 361 | ||
15.6 Andere Werkzeuge zur SOAP-Unterstützung | 363 | ||
16 Sicherheit und Signierung | 364 | ||
16.1 Erlaubnisse und Sicherheitsbereiche | 364 | ||
16.2 Signaturen und Zertifikate | 366 | ||
16.2.1 Signieren mit dem WTK | 367 | ||
16.2.2 Verifizierung | 368 | ||
16.3 Zertifizierung in der realen Welt | 368 | ||
16.3.1 Schlüssel für gegebene Hardware erzeugen | 368 | ||
16.4 Java Verified Program | 369 | ||
16.5 Datensicherheit | 369 | ||
16.5.1 Verschlüsselung | 370 | ||
17 JavaFX | 376 | ||
18 Es funktioniert nicht! – Warum? | 378 | ||
18.1 Was tun? | 378 | ||
19 Werkzeuge | 380 | ||
19.1 Apache Web-Server – Installation,Einrichtung und Nutzung | 380 | ||
19.1.1 Konfiguration | 382 | ||
19.1.2 Kontrolle mit dem WTK | 383 | ||
19.2 Tomcat Container | 385 | ||
19.2.1 Vorbedingungen | 385 | ||
19.2.2 Installation und Start unter Windows | 386 | ||
19.2.3 Installation und Start unter Linux | 386 | ||
19.2.4 Fehlerbehebung | 386 | ||
19.3 Automatisierte Abläufe mit Ant | 387 | ||
19.4 NetBeans | 396 | ||
19.4.1 Java ME-Projekt anlegen und zum Laufen bringen | 396 | ||
19.4.2 Over the Air Simulation | 397 | ||
19.5 Web-Server mit Ant einbinden | 397 | ||
19.6 J2ME Polish | 399 | ||
19.7 Gerätespezifische Daten finden | 400 | ||
A Anhang | 402 | ||
A.1 Pfad und Systemvariablen einstellen | 402 | ||
A.1.1 Linux | 402 | ||
A.1.2 Windows XP | 402 | ||
A.2 Mini-Web-Server | 403 | ||
A.3 Bluetooth-Beispiele | 405 | ||
A.3.1 Ein OBEX Beispielprogramm | 405 | ||
A.3.2 Ein ObjectPush-Beispielprogramm | 414 | ||
A.4 JSR-Übersicht | 417 | ||
A.5 Übergreifende Spezifikation MSA | 419 | ||
A.6 XML Kurzbeschreibung | 421 | ||
A.6.1 Syntax | 422 | ||
A.6.2 Dokumenttyp-Definition | 424 | ||
A.6.3 Namensräume | 424 | ||
A.6.4 XML-Schema | 425 | ||
A.7 Verzeichnis der Beispielprogramme | 426 | ||
Literaturverzeichnis | 430 | ||
Glossar | 436 | ||
Stichwortverzeichnis | 444 |
Kategorien
Kategorien
Service
Info/Kontakt