Inhaltsverzeichnis zum Buch "Java
ME"
Vorwort 11
1 Einführung 17
1.1 Warum Java? 17
1.2 Einschränkungen 19
1.3 Java Micro Edition (Java ME) 19
1.3.1 Weitere Normierungsbestrebungen 20
2 Erste Schritte 21
2.1 Das erste Programm 21
2.1.1 Die Werkzeuge 21
2.1.2 Entwicklungsschritte 22
2.2 Installationsvorbereitungen 25
2.2.1 Packen 25
2.2.2 Packen mit Speicherplatzminimierung 27
2.3 Simulation der Luftschnittstelle 27
2.4 Installation auf einem Gerät 29
2.5 Hinter den Kulissen 31
3 Konfigurationen und Profile 33
3.1 CLDC 34
3.1.1 CLDC und Java 35
3.1.2 Bibliotheken für CLDC 35
3.1.3 Einschränkungen im Vergleich zur Java SE 36
3.2 CLDC 1.1 im Vergleich zu 1.0 37
3.3 CDC 38
3.4 MIDP 38
4 MIDlet-Grundlagen 41
4.1 Der MIDlet-Lebenszyklus 41
4.2 MIDlet- und System-Merkmale 46
4.3 Starten externer Anwendungen 49
4.4 Zugriff auf Ressourcen 51
4.4.1 jar-Verzeichnisstruktur 51
4.4.2 Ressourcen-Datei lesen 53
5 Benutzungsschnittstellen 57
5.1 Bildschirmanzeigen verwalten 58
5.2 Virtuelle Bildschirme 59
5.2.1 Alert 60
5.2.2 TextBox 64
5.2.3 Choice 68
5.2.4 List 70
5.2.5 Form 74
5.2.6 Ereignisverarbeitung für Displayable-Objekte 76
5.3 Items – Komponenten für Formulare 79
5.3.1 Ereignisverarbeitung für Items 80
5.3.2 Layout von Items 80
5.3.3 Ereignisverarbeitung in Form-Objekten 82
5.3.4 Spacer 84
5.3.5 StringItem 84
5.3.6 ImageItem 85
5.3.7 ChoiceGroup 87
5.3.8 TextField 89
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 122
5.6.2 TiledLayer 123
5.6.3 Sprite 124
5.6.4 LayerManager 127
5.6.5 Zusammenspiel 127
5.6.6 Transparenz 132
5.6.7 Game Builder 134
5.7 2D-Grafik mit SVG 134
5.7.1 Animierte SVG-Grafik 138
5.7.2 Manipulation von SVG-Grafiken 140
6 Record Management System 147
6.1 Klasse RecordStore 148
6.2 Benutzungsablauf 149
6.3 Operationen auf Datensätzen 150
6.3.1 Schreiben 151
6.3.2 Lesen 152
6.3.3 Löschen, Ändern, Datensatzgröße 154
6.4 Enumerationen 154
6.4.1 Sortierte Verarbeitung 155
6.4.2 Filter 156
6.5 Ereignisverarbeitung 157
6.6 Verwaltungsfunktionen 157
7 Dateisystem 159
7.1 Dateisystem-Operationen 160
7.1.1 Speicherkarten einfügen und entfernen 160
7.2 Verzeichnis- und Datei-Operationen 161
7.3 Sicherheit 165
8 Persönliche Informationen verwalten 167
8.1 Aufbau 167
8.2 Attribute 172
8.3 Einträge verwalten 173
8.3.1 Neue Einträge 174
8.3.2 Einträge ändern 177
8.3.3 Einträge löschen 177
9 Multimedia 179
9.1 Konzept 179
9.1.1 Eigenschaften der Geräte 181
9.2 Audio 182
9.2.1 Einfache Tonerzeugung 182
9.2.2 Tonfolgen 184
9.2.3 Wiedergabe von Audio-Dateien 185
9.2.4 Lautstärke- und andere Einstellungen 186
9.2.5 MIDI 188
9.2.6 Aufnahme 189
9.3 Video 189
9.3.1 Kameraaufnahme 195
9.3.2 Thumbnails 197
9.4 Ereignisverarbeitung 198
10 Internet-Anbindung 199
10.1 HTTP 201
10.1.1 Verbindung mit GET 202
10.1.2 Verbindung mit POST 206
10.1.3 Cookies 216
10.2 HTTPS 217
10.3 Socket 219
10.4 Datagram 220
11 3D-Grafik 223
11.1 Klassen im M3G 225
11.1.1 Loader und Object3D 225
11.1.2 Graphics3D 225
11.1.3 World und Group 228
11.1.4 Transformable und Node 231
11.1.5 Camera und Light 233
11.2 Ein erstes Beispiel 234
11.3 Animation 239
11.3.1 KeyframeSequence 239
11.3.2 AnimationTrack und AnimationController 240
11.3.3 Ein Animationsbeispiel 242
11.4 Immediate Mode 245
11.4.1 VertexBuffer und VertexArray 246
11.4.2 Rendern im Immediate Mode 247
11.5 Mesh 254
11.5.1 Spezialeffekte 260
11.6 Das OpenGL ES API 261
11.6.1 Initialisierung 262
11.6.2 3D-Daten 264
11.6.3 Szene rendern 266
12 SMS senden und empfangen 271
12.1 Einfache SMS senden 272
12.2 SMS über eine Server-Verbindung senden 274
12.3 SMS asynchron empfangen 276
12.4 Push-Dienst – MIDlet mit einer SMS wecken 280
12.5 Andere Arten, ein MIDlet zu wecken 280
12.5.1 MIDlet zu einer bestimmten Zeit wecken 281
13 Bluetooth 283
13.1 Überblick Bluetooth-Technologie 285
13.1.1 Netzwerktopologie 285
13.1.2 Der Bluetooth-Stack 285
13.1.3 Bluetooth-Profile 288
13.2 Java APIs für Bluetooth 289
13.2.1 Aufsuchen von Geräten 292
13.2.2 Aufsuchen von Diensten 305
13.3 Dienste nutzen 311
13.4 Weitere Klassen der JABWT 315
13.4.1 L2CAP 315
13.4.2 OBEX 317
14 Location API 323
14.1 Lokalisierung 323
14.2 Lokalisierung mit dem Location API 326
14.2.1 Koordinaten 329
14.2.2 Landmarken 333
14.3 Location API Beispiele mit dem WTK 334
14.4 Location API Beispiele mit realen Geräten 337
15 Web-Services 343
15.1 Konzept 344
15.2 Technische Grundlagen 345
15.2.1 Simple Object Access Protocol – SOAP 346
15.3 Beispiel: SOAP-Anfrage an Google 347
15.4 Automatische Auswertung von SOAP-Nachrichten 353
15.5 Automatische Erzeugung von SOAP-Nachrichten 360
15.6 Andere Werkzeuge zur SOAP-Unterstützung 362
16 Sicherheit und Signierung 363
16.1 Erlaubnisse und Sicherheitsbereiche 363
16.2 Signaturen und Zertifikate 365
16.2.1 Signieren mit dem WTK 366
16.2.2 Verifizierung 367
16.3 Zertifizierung in der realen Welt 367
16.3.1 Schlüssel für gegebene Hardware erzeugen 367
16.4 Java Verified Program 368
16.5 Datensicherheit 368
16.5.1 Verschlüsselung 369
17 JavaFX 375
18 Es funktioniert nicht! – Warum? 377
18.1 Was tun? 377
19 Werkzeuge 379
19.1 Apache Web-Server – Installation, Einrichtung und Nutzung 379
19.1.1 Konfiguration 381
19.1.2 Kontrolle mit dem WTK 382
19.2 Tomcat Container 384
19.2.1 Vorbedingungen 384
19.2.2 Installation und Start unter Windows 385
19.2.3 Installation und Start unter Linux 385
19.2.4 Fehlerbehebung 385
19.3 Automatisierte Abläufe mit Ant 386
19.4 NetBeans 395
19.4.1 Java ME-Projekt anlegen und zum Laufen bringen 395
19.4.2 Over the Air Simulation 396
19.5 Web-Server mit Ant einbinden 396
19.6 J2ME Polish 398
19.7 Gerätespezifische Daten finden 399
A Anhang 401
A.1 Pfad und Systemvariablen einstellen 401
A.1.1 Linux 401
A.1.2 Windows XP 401
A.2 Mini-Web-Server 402
A.3 Bluetooth-Beispiele 404
A.3.1 Ein OBEX Beispielprogramm 404
A.3.2 Ein ObjectPush-Beispielprogramm 413
A.4 JSR-Übersicht 416
A.5 Übergreifende Spezifikation MSA 418
A.6 XML Kurzbeschreibung 420
A.6.1 Syntax 421
A.6.2 Dokumenttyp-Definition 423
A.6.3 Namensräume 423
A.6.4 XML-Schema 424
A.7 Verzeichnis der Beispielprogramme 425
Literaturverzeichnis 429
Glossar 434
Stichwortverzeichnis 443
| zurück |