--- 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