Sie sind hier
E-Book

Java ME

Anwendungsentwicklung für Handys, PDA und Co.

AutorHeiko Mosemann, Ulrich Breymann
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2008
Seitenanzahl449 Seiten
ISBN9783446416314
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis4,99 EUR

JAVA MACHT MOBIL
- Einstieg in die Konzepte und technischen Grundlagen der Programmierung mobiler Endgeräte mit der Java Micro Edition

- Mit praktischen Hinweisen und zahlreichen Beispielen, die auf unterschiedlicher Hardware getestet wurden und die leicht nachvollzogen werden können

- Setzt auf kostenlos verfügbare Software

- Im Internet: Programmcode zu den Beispielen und ergänzendes Material unter www.java-me.de

Sie wollen mobile Anwendungen mit Java ME entwickeln? Dann finden Sie in diesem Buch eine fundierte und verständliche Einführung. Die Autoren erklären, welche Konzepte der Software für mobile Anwendungen zugrunde liegen und wie sie technisch realisiert werden. Sie legen den Schwerpunkt auf die Softwareentwicklung für Geräte mit begrenzten Ressourcen wie Handys und PDAs.

Mit Hilfe zahlreicher Beispiele lernen Sie, eigene mobile Anwendungen zu schreiben und diese als Dienstleistungen auf einem Server anzubieten. Sowohl die Client- als auch die Server-Sicht werden behandelt. Die Autoren geben eine Fülle programmiermethodischer Hinweise und stellen nützliche Werkzeuge zur Entwicklung mobiler Anwendungen mit Java vor. Das umfangreiche Stichwortverzeichnis und das Glossar machen das Buch zu einem wertvollen Nachschlagewerk für die tägliche Arbeit.

Die zweite Auflage wurde durchgehend aktualisiert und in den Bereichen Location API, OpenGL-Bibliothek für Grafik, Scalable Vector Graphics und Sicherheit erweitert.

AUS DEM INHALT: Konfigurationen und Profile: CLDC/CDC, MIDP - MIDlet-Grundlagen - GUI und GUI-Komponenten: Canvas, Thread-Steuerung, API für Spiele, 2D-Grafik mit SVG - Record Management System - Dateisystem - Persönliche Informationen verwalten - Multimedia - Internet-Anbindung - 3D-Grafik - SMS senden und empfangen - Bluetooth - Location API - Web-Services - Sicherheit und Signierung

Die AutorenProf. Dr. Ulrich Breymann und Prof. Dr. Heiko Mosemann sind Professoren für Informatik an der Hochschule Bremen. Sie verwenden Java und Java ME seit vielen Jahren erfolgreich in der Lehre.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

1.1 Warum Java? (S. 17)
Sicher kann man ein schlechtes (oder gutes) Programm in jeder Programmiersprache schreiben, und die Frage, welche die »beste« Programmiersprache ist, bewegt viele Gemüter. Wenn Software effizient entwickelt werden soll, müssen bei der Auswahl einer Programmiersprache verschiedene Kriterien beachtet werden, wie etwa die Verfügbarkeit von Entwicklungsumgebungen. Aus softwaretechnischer Sicht hat C das Manko, dass es die Objektorientierung nicht unterstützt. Java scheint aus folgenden Gründen am besten im Vergleich zum verbleibenden hauptsächlichen Konkurrenten C++ geeignet:

Verbreitung: Java gibt es auf über 1,8 Milliarden mobilen Endgeräten, und etwa 80 % aller neuen verkauften Handys und PDAs usw. basieren auf Java.

Portabilität: Java Bytecode ist auf allen JVM lauffähig, und jedes Betriebssystem von praktischer Bedeutung hat eine JVM. Der Aufwand, eine Anwendung auf ein anderes System zu portieren, ist damit sehr klein und oft gleich null.

Sicherheit: Java hat ein API (Application Programming Interface) für sicherheitsrelevante Abläufe. Dazu gehören Authentifizierung, die Überprüfung von Signaturen und die Vergabe von Rechten (Autorisierung).

Akzeptanz: Java ist auf diesem Gebiet ähnlich wie C++ sehr weit verbreitet und hat eine große Community. Es gibt Foren für Entwickler bei allen namhaften Herstellern.

Robustheit: Java-Anwendungen laufen in einer »Sandbox«. Die Java Virtual Machine (JVM) wacht darüber, dass ein Absturz eines Programms keine anderen Anwendungen stört. Darüber hinaus ist der Bytecode vor der Ausführung mit einem Prüfsummenverfahren verifiziert worden, um die Integrität des Codes sicherzustellen. Unbemerkte Veränderungen, zum Beispiel durch ein Virus, werden dadurch deutlich erschwert.

Garbage Collector: Java hat einen Garbage Collector, sodass keine Speicherlecks auftreten. In C++ können Speicherlecks dagegen nur durch sorgfältige Programmierung vermieden werden.

De-facto-Standardisierung: Es gibt einen C++-Standard (ISO 14882), aber keinen Java-Standard. Der C++-Standard umfasst nur einen sehr kleinen Anteil von Bibliotheken, zum Beispiel gibt es nichts zu gra.schen Benutzungsoberflächen (GUI - engl. für graphical user interface) – alle derartigen APIs und Bibliotheken sind plattformspezifisch. Java hingegen hat eine reichliche Menge an APIs, nicht nur für grafische Benutzungsoberflächen, sondern für die Vernetzung und anderes. Die Spezifikationen für alle Erweiterungen der Java-Plattform entstehen im von Sun relativ demokratisch gestalteten Java Community Process [JCP]. In diesem Konsortium gibt Sun die Spielregeln vor, nach denen die Expertengruppen neue Spezifikationen austüfteln. JCP-Mitglieder, die ein neues Feature entwickeln, veröffentlichen dabei als Erstes ein JSR (Java Specification Request). Auf der Website www.jcp.org sind viele der JSRs samt der fertig gestellten Spezifikationen für jedermann einsehbar. Auch interessierte Einzelpersonen können am JCP teilnehmen. Weil so gut wie alle wichtigen Softwareunternehmen und auch Open-Source-Organisationen wie die Apache Software Foundation im JCP mitarbeiten, ist eine breite Marktakzeptanz gesichert und damit ein De-facto- Standard gegeben.

Es soll nicht verschwiegen werden, dass der Vorteil der Portabilität auch mit Nachteilen verbunden sein kann. Auf Desktop-PCs sind Java-Programme im Allgemeinen genauso schnell wie C++-Programme, weil die JVM einen Just-intime- Compiler aufruft.

Inhaltsverzeichnis
Inhaltsverzeichnis6
Vorwort12
1 Einführung18
1.1 Warum Java?18
1.2 Einschränkungen20
1.3 Java Micro Edition (Java ME)20
1.3.1 Weitere Normierungsbestrebungen21
2 Erste Schritte22
2.1 Das erste Programm22
2.1.1 Die Werkzeuge22
2.1.2 Entwicklungsschritte23
2.2 Installationsvorbereitungen26
2.2.1 Packen26
2.2.2 Packen mit Speicherplatzminimierung28
2.3 Simulation der Luftschnittstelle28
2.4 Installation auf einem Gerät30
2.5 Hinter den Kulissen32
3 Konfigurationen und Profile34
3.1 CLDC35
3.1.1 CLDC und Java36
3.1.2 Bibliotheken für CLDC36
3.1.3 Einschränkungen im Vergleich zur Java SE37
3.2 CLDC 1.1 im Vergleich zu 1.038
3.3 CDC39
3.4 MIDP39
4 MIDlet-Grundlagen42
4.1 Der MIDlet-Lebenszyklus42
4.2 MIDlet- und System-Merkmale47
4.3 Starten externer Anwendungen50
4.4 Zugriff auf Ressourcen52
4.4.1 jar-Verzeichnisstruktur52
4.4.2 Ressourcen-Datei lesen54
5 Benutzungsschnittstellen58
5.1 Bildschirmanzeigen verwalten59
5.2 Virtuelle Bildschirme60
5.2.1 Alert61
5.2.2 TextBox65
5.2.3 Choice69
5.2.4 List71
5.2.5 Form75
5.2.6 Ereignisverarbeitung für Displayable-Objekte77
5.3 Items – Komponenten für Formulare80
5.3.1 Ereignisverarbeitung für Items81
5.3.2 Layout von Items81
5.3.3 Ereignisverarbeitung in Form-Objekten83
5.3.4 Spacer85
5.3.5 StringItem85
5.3.6 ImageItem86
5.3.7 ChoiceGroup88
5.3.8 TextField90
5.3.9 DateField90
5.3.10 Gauge92
5.3.11 CustomItem93
5.4 Canvas98
5.4.1 Ereignisverarbeitung101
5.4.2 Verarbeitung von Tastaturereignissen102
5.4.3 Zeichnen mit paint() und Graphics103
5.5 Software-Muster für spezielleProblemstellungen110
5.5.1 Steuerung von Threads110
5.5.2 Steuerung von Runnable-Objekten113
5.5.3 Synchronisation von AMS und Berechnung114
5.5.4 Bildflackern vermeiden mit Double Buffering115
5.5.5 Minimierung der Zeichenoperationen115
5.5.6 Synchronisation von Anzeige und Berechnung116
5.5.7 Anwendungsbeispiel117
5.6 API für Spiele123
5.6.1 GameCanvas123
5.6.2 TiledLayer124
5.6.3 Sprite125
5.6.4 LayerManager128
5.6.5 Zusammenspiel128
5.6.6 Transparenz133
5.6.7 Game Builder135
5.7 2D-Grafik mit SVG135
5.7.1 Animierte SVG-Grafik139
5.7.2 Manipulation von SVG-Grafiken141
6 Record Management System148
6.1 Klasse RecordStore149
6.2 Benutzungsablauf150
6.3 Operationen auf Datensätzen151
6.3.1 Schreiben152
6.3.2 Lesen153
6.3.3 Löschen, Ändern, Datensatzgröße155
6.4 Enumerationen155
6.4.1 Sortierte Verarbeitung156
6.4.2 Filter157
6.5 Ereignisverarbeitung158
6.6 Verwaltungsfunktionen158
7 Dateisystem160
7.1 Dateisystem-Operationen161
7.1.1 Speicherkarten einfügen und entfernen161
7.2 Verzeichnis- und Datei-Operationen162
7.3 Sicherheit166
8 Persönliche Informationen verwalten168
8.1 Aufbau168
8.2 Attribute173
8.3 Einträge verwalten174
8.3.1 Neue Einträge175
8.3.2 Einträge ändern178
8.3.3 Einträge löschen178
9 Multimedia180
9.1 Konzept180
9.1.1 Eigenschaften der Geräte182
9.2 Audio183
9.2.1 Einfache Tonerzeugung183
9.2.2 Tonfolgen185
9.2.3 Wiedergabe von Audio-Dateien186
9.2.4 Lautstärke- und andere Einstellungen187
9.2.5 MIDI189
9.2.6 Aufnahme190
9.3 Video190
9.3.1 Kameraaufnahme196
9.3.2 Thumbnails198
9.4 Ereignisverarbeitung199
10 Internet-Anbindung200
10.1 HTTP202
10.1.1 Verbindung mit GET203
10.1.2 Verbindung mit POST207
10.1.3 Cookies217
10.2 HTTPS218
10.3 Socket220
10.4 Datagram221
11 3D-Grafik224
11.1 Klassen im M3G226
11.1.1 Loader und Object3D226
11.1.2 Graphics3D226
11.1.3 World und Group229
11.1.4 Transformable und Node232
11.1.5 Camera und Light234
11.2 Ein erstes Beispiel235
11.3 Animation240
11.3.1 KeyframeSequence240
11.3.2 AnimationTrack und AnimationController241
11.3.3 Ein Animationsbeispiel243
11.4 Immediate Mode246
11.4.1 VertexBuffer und VertexArray247
11.4.2 Rendern im Immediate Mode248
11.5 Mesh255
11.5.1 Spezialeffekte261
11.6 Das OpenGL ES API262
11.6.1 Initialisierung263
11.6.2 3D-Daten265
11.6.3 Szene rendern267
12 SMS senden und empfangen272
12.1 Einfache SMS senden273
12.2 SMS über eine Server-Verbindung senden275
12.3 SMS asynchron empfangen277
12.4 Push-Dienst – MIDlet mit einer SMS wecken281
12.5 Andere Arten, ein MIDlet zu wecken281
12.5.1 MIDlet zu einer bestimmten Zeit wecken282
13 Bluetooth284
13.1 Überblick Bluetooth-Technologie286
13.1.1 Netzwerktopologie286
13.1.2 Der Bluetooth-Stack286
13.1.3 Bluetooth-Profile289
13.2 Java APIs für Bluetooth290
13.2.1 Aufsuchen von Geräten293
13.2.2 Aufsuchen von Diensten306
13.3 Dienste nutzen312
13.4 Weitere Klassen der JABWT316
13.4.1 L2CAP316
13.4.2 OBEX318
14 Location API324
14.1 Lokalisierung324
14.2 Lokalisierung mit dem Location API327
14.2.1 Koordinaten330
14.2.2 Landmarken334
14.3 Location API-Beispiele mit dem WTK335
14.4 Location API-Beispiele mit realen Geräten338
15 Web-Services344
15.1 Konzept345
15.2 Technische Grundlagen346
15.2.1 Simple Object Access Protocol – SOAP347
15.3 Beispiel: SOAP-Anfrage an Google348
15.4 Automatische Auswertung vonSOAP-Nachrichten354
15.5 Automatische ErzeugungSOAP-Nachrichten361
15.6 Andere Werkzeuge zur SOAP-Unterstützung363
16 Sicherheit und Signierung364
16.1 Erlaubnisse und Sicherheitsbereiche364
16.2 Signaturen und Zertifikate366
16.2.1 Signieren mit dem WTK367
16.2.2 Verifizierung368
16.3 Zertifizierung in der realen Welt368
16.3.1 Schlüssel für gegebene Hardware erzeugen368
16.4 Java Verified Program369
16.5 Datensicherheit369
16.5.1 Verschlüsselung370
17 JavaFX376
18 Es funktioniert nicht! – Warum?378
18.1 Was tun?378
19 Werkzeuge380
19.1 Apache Web-Server – Installation,Einrichtung und Nutzung380
19.1.1 Konfiguration382
19.1.2 Kontrolle mit dem WTK383
19.2 Tomcat Container385
19.2.1 Vorbedingungen385
19.2.2 Installation und Start unter Windows386
19.2.3 Installation und Start unter Linux386
19.2.4 Fehlerbehebung386
19.3 Automatisierte Abläufe mit Ant387
19.4 NetBeans396
19.4.1 Java ME-Projekt anlegen und zum Laufen bringen396
19.4.2 Over the Air Simulation397
19.5 Web-Server mit Ant einbinden397
19.6 J2ME Polish399
19.7 Gerätespezifische Daten finden400
A Anhang402
A.1 Pfad und Systemvariablen einstellen402
A.1.1 Linux402
A.1.2 Windows XP402
A.2 Mini-Web-Server403
A.3 Bluetooth-Beispiele405
A.3.1 Ein OBEX Beispielprogramm405
A.3.2 Ein ObjectPush-Beispielprogramm414
A.4 JSR-Übersicht417
A.5 Übergreifende Spezifikation MSA419
A.6 XML Kurzbeschreibung421
A.6.1 Syntax422
A.6.2 Dokumenttyp-Definition424
A.6.3 Namensräume424
A.6.4 XML-Schema425
A.7 Verzeichnis der Beispielprogramme426
Literaturverzeichnis430
Glossar436
Stichwortverzeichnis444

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

FESTIVAL Christmas

FESTIVAL Christmas

Fachzeitschriften für Weihnachtsartikel, Geschenke, Floristik, Papeterie und vieles mehr! FESTIVAL Christmas: Die erste und einzige internationale Weihnachts-Fachzeitschrift seit 1994 auf dem ...

arznei-telegramm

arznei-telegramm

Das arznei-telegramm® informiert bereits im 53. Jahrgang Ärzte, Apotheker und andere Heilberufe über Nutzen und Risiken von Arzneimitteln. Das arznei-telegramm®  ist neutral und ...

BEHINDERTEPÄDAGOGIK

BEHINDERTEPÄDAGOGIK

Für diese Fachzeitschrift arbeiten namhafte Persönlichkeiten aus den verschiedenen Fotschungs-, Lehr- und Praxisbereichen zusammen. Zu ihren Aufgaben gehören Prävention, Früherkennung, ...

DSD Der Sicherheitsdienst

DSD Der Sicherheitsdienst

Der "DSD – Der Sicherheitsdienst" ist das Magazin der Sicherheitswirtschaft. Es erscheint viermal jährlich und mit einer Auflage von 11.000 Exemplaren. Der DSD informiert über aktuelle Themen ...