ANWENDUNGSENTWICKLUNG

Größe: px
Ab Seite anzeigen:

Download "ANWENDUNGSENTWICKLUNG"

Transkript

1 ulrich BREYMANN heiko MOSEMANN JAVAME ANWENDUNGSENTWICKLUNG FÜR HANDYS, PDA UND CO. 2. Auflage

2 Inhaltsverzeichnis Vorwort Einführung Warum Java? Einschränkungen Java Micro Edition (Java ME) Weitere Normierungsbestrebungen Erste Schritte Das erste Programm Die Werkzeuge Entwicklungsschritte Installationsvorbereitungen Packen Packen mit Speicherplatzminimierung Simulation der Luftschnittstelle Installation auf einem Gerät Hinter den Kulissen Konfigurationen und Profile CLDC CLDC und Java Bibliotheken für CLDC Einschränkungen im Vergleich zur Java SE CLDC 1.1 im Vergleich zu CDC MIDP MIDlet-Grundlagen Der MIDlet-Lebenszyklus MIDlet- und System-Merkmale Starten externer Anwendungen Zugriff auf Ressourcen jar-verzeichnisstruktur Ressourcen-Datei lesen... 53

3 6 Inhaltsverzeichnis 5 Benutzungsschnittstellen Bildschirmanzeigen verwalten Virtuelle Bildschirme Alert TextBox Choice List Form Ereignisverarbeitung für Displayable-Objekte Items Komponenten für Formulare Ereignisverarbeitung für Items Layout von Items Ereignisverarbeitung in Form-Objekten Spacer StringItem ImageItem ChoiceGroup TextField DateField Gauge CustomItem Canvas Ereignisverarbeitung Verarbeitung von Tastaturereignissen Zeichnen mit paint() und Graphics Software-Muster für spezielle Problemstellungen Steuerung von Threads Steuerung von Runnable-Objekten Synchronisation von AMS und Berechnung Bildflackern vermeiden mit Double Buffering Minimierung der Zeichenoperationen Synchronisation von Anzeige und Berechnung Anwendungsbeispiel Synchronisation mit Display.callSerially() API für Spiele GameCanvas TiledLayer Sprite LayerManager Zusammenspiel Transparenz Game Builder D-Grafik mit SVG...134

4 Inhaltsverzeichnis Animierte SVG-Grafik Manipulation von SVG-Grafiken Record Management System Klasse RecordStore Benutzungsablauf Operationen auf Datensätzen Schreiben Lesen Löschen, Ändern, Datensatzgröße Enumerationen Sortierte Verarbeitung Filter Ereignisverarbeitung Verwaltungsfunktionen Dateisystem Dateisystem-Operationen Speicherkarten einfügen und entfernen Verzeichnis- und Datei-Operationen Sicherheit Persönliche Informationen verwalten Aufbau Attribute Einträge verwalten Neue Einträge Einträge ändern Einträge löschen Multimedia Konzept Eigenschaften der Geräte Audio Einfache Tonerzeugung Tonfolgen Wiedergabe von Audio-Dateien Lautstärke- und andere Einstellungen MIDI Aufnahme Video Kameraaufnahme Thumbnails Ereignisverarbeitung...198

5 8 Inhaltsverzeichnis 10 Internet-Anbindung HTTP Verbindung mit GET Verbindung mit POST Cookies HTTPS Socket Datagram D-Grafik Klassen im M3G Loader und Object3D Graphics3D World und Group Transformable und Node Camera und Light Ein erstes Beispiel Animation KeyframeSequence AnimationTrack und AnimationController Ein Animationsbeispiel Immediate Mode VertexBuffer und VertexArray Rendern im Immediate Mode Mesh Spezialeffekte Das OpenGL ES API Initialisierung D-Daten Szene rendern SMS senden und empfangen Einfache SMS senden SMS über eine Server-Verbindung senden SMS asynchron empfangen Push-Dienst MIDlet mit einer SMS wecken AndereArten, ein MIDlet zu wecken MIDlet zu einer bestimmten Zeit wecken Bluetooth Überblick Bluetooth-Technologie Netzwerktopologie Der Bluetooth-Stack Bluetooth-Profile...288

6 Inhaltsverzeichnis Java APIs für Bluetooth Aufsuchen von Geräten Aufsuchen von Diensten Dienste nutzen Weitere Klassen der JABWT L2CAP OBEX Location API Lokalisierung Lokalisierung mit dem Location API Koordinaten Landmarken Location API-Beispiele mit dem WTK Location API-Beispiele mit realen Geräten Web-Services Konzept Technische Grundlagen Simple Object Access Protocol SOAP Beispiel: SOAP-Anfrage an Google Automatische Auswertung von SOAP-Nachrichten Automatische Erzeugung von SOAP-Nachrichten AndereWerkzeuge zur SOAP-Unterstützung Sicherheit und Signierung Erlaubnisse und Sicherheitsbereiche Signaturen und Zertifikate Signieren mit dem WTK Verifizierung Zertifizierung in der realen Welt Schlüssel für gegebene Hardwareerzeugen Java Verified Program Datensicherheit Verschlüsselung JavaFX Es funktioniert nicht! Warum? Wastun?

7 10 Inhaltsverzeichnis 19 Werkzeuge Apache Web-Server Installation, Einrichtung und Nutzung Konfiguration Kontrolle mit dem WTK Tomcat Container Vorbedingungen Installation und Start unter Windows Installation und Start unter Linux Fehlerbehebung Automatisierte Abläufe mit Ant NetBeans Java ME-Projekt anlegen und zum Laufen bringen Over the Air Simulation Web-Server mit Ant einbinden J2ME Polish Gerätespezifische Daten finden A Anhang A.1 Pfad und Systemvariablen einstellen A.1.1 Linux A.1.2 Windows XP A.2 Mini-Web-Server A.3 Bluetooth-Beispiele A.3.1 Ein OBEX Beispielprogramm A.3.2 Ein ObjectPush-Beispielprogramm A.4 JSR-Übersicht A.5 Übergreifende Spezifikation MSA A.6 XML Kurzbeschreibung A.6.1 Syntax A.6.2 Dokumenttyp-Definition A.6.3 Namensräume A.6.4 XML-Schema A.7 Verzeichnis der Beispielprogramme Literaturverzeichnis Glossar Stichwortverzeichnis...443

8 1 Einführung Auf dem Markt für mobile Endgeräte tummeln sich viele bekannte Hardware- Hersteller wie Nokia, Sony-Ericsson, Benq, Motorola und andere. Die Anwendungs- Softwareist meist in C/C++ oder Java geschrieben. Den Markt für Betriebssysteme für mobile Geräte teilten sich 2006 [Heise] im Wesentlichen das Symbian OS mit einem Marktanteil von 67 %, Windows (14 %) und RIM (Reserch in Motion, Blackberry). Im verbleibenden Rest findet sich auch Linux (7 %). 1.1 Warum Java? 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. 1 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 1 nach

9 18 1Einführung 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 grafischen 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 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. Wegen der beschränkten Speicherressourcen muss bei mobilen Endgeräten (noch) auf so einen Compiler verzichtet werden. Falls eine Performance-Messung genau dieses als Ursache für langsame Programmlaufzeiten herausfinden sollte, muss vielleicht geschickter programmiert oder aber doch auf C/C++ zurückgegriffen werden. Nur eine Performance-Messung kann die richtige Information geben, weil es auch sprachunabhängige Gründe für Verzögerungen gibt, wie Latenzzeiten bei der Netzübertragung. Ein weiterer möglicher Nachteil der Portabilität ist, dass nicht alle Features einer bestimmten Hardware bzw.eines bestimmten Betriebssystems oder einer herstellerspezifischen Bibliothek ausgenutzt werden können, eben weil sie auf anderen Systemen nicht verfügbar ist. Das Problem ist aus dem Desktop-Bereich hinlänglich bekannt, man denke nur an die frühere Ein-Tasten-Maus beim Mac und die Mehr-Tasten-Maus von Windows/Intel-Rechnern. Portabilität erreichen heißt also auch, den kleinsten gemeinsamen Nenner zu akzeptieren.

10 1.2 Einschränkungen Einschränkungen Mobile Endgeräte, seien es Mobiltelefone, PDAs (Organizer) oder Mischformen wie MDAs, sollen klein und leicht sein und unterliegen daher bestimmten Einschränkungen. Die Batterietechnologie hat längst nicht so große Fortschritte wie die Speicherund CPU-Entwicklung gemacht. Energie ist nur eingeschränkt verfügbar, und zwar umso weniger,jeleichter und kleiner die Akkus sind. Aus Platz-, Gewichts- und Energiespargründen muss der Speicher begrenzt werden. Aus denselben Gründen sind Bildschirme klein und haben eine geringere Auflösung, verglichen mit Desktop-Computern. Andere Bedienungselemente wie Knöpfe oder eine Tastatur müssen so klein wie möglich, aber noch bedienbar sein. Ein mobiles Endgerät ist per Definition nicht standortgebunden und sein Träger kann seinen Ort und damit die zuständige Funkzelle beliebig wechseln. Daraus folgt, dass die Verbindung zum Netzwerk oft schwach oder zeitweise unterbrochen sein kann. Dieser Aspekt spielt sowohl für die Antennenauslegung als auch für die Fehlertoleranz der Software eine Rolle. 1.3 Java Micro Edition (Java ME) Die vorstehend beschriebenen Einschränkungen führen dazu, dass die»normale«java SE (Java Standard Edition) oder gar die Java EE (Java Enterprise Edition) nicht verwendet werden können. Die Bibliotheken sind viel zu groß für die Speicher heutiger mobiler Endgeräte. Natürlich wird sich das entsprechend dem Moore schen Gesetz, nach dem sich die Speicherdichte auf den Chips etwa alle 18 Monate verdoppelt, allmählich ändern. Moores Prognose reichte zwar nur bis 1975 [Mo], aber die Erfahrung zeigt, dass seine Annahme bis heute gültig ist. Java ME ist also ein angepasstes und abgespecktes Java. Dabei ist Java ME nicht so sehr ein Stück Software, sondern eine Menge von Spezifikationen und Technologien, die speziell für mobile Endgeräte zugeschnitten sind. Anders hätte man der ungeheuren Vielfalt der verschiedenen technischen Möglichkeiten nicht gerecht werden können. Die Java ME-Architektur basiert auf Konfigurationen, die aus einer JVM und einem minimalen Satz von Klassenbibliotheken bestehen, und auf Profilen, die die Konfigurationen erweitern und ergänzen. Dazu gibt es optionale Packages für spezielle Anpassungen und Anwendungen, zum Beispiel Datenbankanbindung oder Bluetooth-Schnittstelle. Eine Konfiguration stellt eine Untermenge der Java SE-APIs zur Verfügung, die aber allein noch nicht ausreichend ist, um

11 20 1Einführung vollständige Anwendungen zu entwickeln. Die Profile enthalten die notwendigen fehlenden APIs, unter anderem zur Verwaltung der Benutzungsschnittstellen, der Speicherung persistenter Daten und der Steuerung des Lebenszyklus einer Anwendung. Letzteres ähnelt der Verwaltung eines Applet-Lebenszyklus und wird Anwendungsmanagement (englisch application management)genannt. Java ME unterteilt sich in zwei Hälften, unterschieden nach Anwendungsgebieten: 1. Einfache PDAs, Mobiltelefone Die zusammengehörenden Komponenten sind die CLDC (Connected Limited Device Configuration)[JSR30, JSR139], die die KVM (Kilobyte Virtual Machine) enthält, und das MIDP (Mobile Information Device Profile) [JSR118]. Dazu kommen die erwähnten optionalen Packages. Die CLDC ist speziell für langsame Prozessoren, wenig Speicherplatz und unzuverlässige Netzwerkverbindungen gedacht. Die KVM ist dementsprechend eine Virtual Machine, die nur eine Untermenge der normalen JVM implementiert. Typischerweise werden nur 128 bis 512 kb Speicher angenommen. Das MIDP stellt die von mobilen Anwendungen benötigten Kernfunktionen zur Verfügung (Netzwerkanbindung, lokale Datenhaltung, Benutzungsschnittstelle und Anwendungsmanagement). CLDC und MIDP stellen zusammen eine vollständige Java-Laufzeitumgebung dar. Kleine Java-Programme, die zur Ausführung auf ein Handy geladen werden, heißen MIDlet. 2. High-End PDAs, TV Set-Top-Boxen, Eingebettete (embedded) Geräte Diese Geräte sind deutlich leistungsfähiger, sodass von mindestens 2 MB Speicher ausgegangen wird. Die hier zusammengehörigen Komponenten sind die CDC (Connected Device Configuration) [JSR36], die eine normale JVM enthält, das Foundation Profile und das Personal Profile plus die optionalen Packages. Die Konfigurationen und Profile werden weiter unten vertieft dargestellt und anhand von Beispielen erläutert. Eine Übersicht der betroffenen JSRs ist im Anhang, Abschnitt A.4 auf Seite 416 zu finden Weitere Normierungsbestrebungen Um eine Zersplitterung der vielen APIs zu vermeiden und die Bandbreite möglicher Anwendungen zu vergrößern, wurde die Spezifikation MSA (Mobile Service Architecture Specification) [JS248] erarbeitet. Das Dokument bezieht sich wesentlich auf schon existierende JSRs und ist Grundlage der nächsten Generation Javafähiger Mobiltelefone. Einzelheiten sind im Anhang, Abschnitt A.5, zu finden.

12 2 Erste Schritte 2.1 Das erste Programm Die Werkzeuge Um ein erstes Programm für ein Mobiltelefon schreiben zu können, brauchen wir eine Entwicklungsumgebung. Es gibt mehrere Systeme auf dem Markt, wir wenden uns zunächst der einfachsten Lösung zu, auf anspruchsvollere Werkzeuge wird imabschnitt 19 eingegangen. Im Folgenden werden betriebssystemtypische Hinweise nur für die am meisten verbreiteten Desktop-Betriebssysteme Windows XP und Linux gegeben. 1 Die einfachste Lösung besteht aus drei Teilen: 1. Java SE Development Kit (JDK) Um die Programme kompilieren zu können, muss das JDK installiert sein (download von [JSE]). Am besten setzt man auch gleich den Pfad entsprechend und die Umgebungsvariable JAVA_HOME, wie im Anhang auf Seite 401 beschrieben. Diese Umgebungsvariable wird benötigt, wenn wir später einen Web-Server installieren (siehe unten, Abschnitt 19.2). 2. Java ME Wireless Toolkit Sun stellt ein aus mehreren Komponenten bestehendes Werkzeug zur Verfügung, mit dem sehr leicht MIDlets ausprobiert werden können, das Java ME Wireless Toolkit, abgekürzt WTK (download von [JMEW]). Dieses Toolkit wird anschließend ebenfalls installiert. Es sei in diesem Abschnitt angenommen, dass die Installation in das Verzeichnis C:\ WTK (Windows) bzw. /home/user/wtk (Linux) erfolgt. Bei der Installation wird die Existenz des JDKs vorausgesetzt. 3. Nun brauchen wir noch einen beliebigen Editor zum Programmieren. Die folgenden drei Editoren gibt es sowohl für Windows wie für Linux: JEdit ( SCiTE ( XEmacs ( Alternativ gibt es Entwicklungswerkzeuge von einzelnen Herstellern wie Sony- Ericsson oder Nokia. Auch ist die Integration des WTK in Entwicklungsumgebungen wie Eclipse möglich. Abschnitt 19.4 im Kapitel über Werkzeuge beschreibt kurz und beispielhaft die Entwicklung mobiler Anwendungenmit NetBeans, das mit einem integrierten WTK erhältlich ist. 1 MAC-User bitten wir vorab um Entschuldigung!

13 Stichwortverzeichnis 2D-Grafik mit SVG 134 3D-Grafik 223 3G (third generation) 435 A Abspieldauer 187 addcommand() 76, 81 addrecord() 151 AES 369 Alarm 281 Alert 60 Alpha Blending 100, 102, 132 AMS 41, 435 Animation 3D-Grafik 239 SVG 138 Anker 103 Ant 386 Apache HTTP-Server 379 Tomcat 385 API 435 application management 20 application/x-www-form-urlencoded 201, 212 Arbeitsverzeichnis 161 Architektur 33 atomareaktion 112 Attribute PIM 172 XML 422 Audio 182 Auflösung 134 Aufnahme Audio 189 Video 195 Authentifizierung 217 Automatisierung von Abläufen 386 Autorisierung 217 AWT 38, 57 B B2B, B2C 435 Base Beispielverzeichnis einstellen 31, 425 Bildflackern 114 Bildschirme Verwaltung 58 virtuelle 59 blanket 365 Bluetooth 283, 435 Control Center 290 Profile 288 Stack 285 Topologie 285 branding 368 Browser 50 BUTTON 80 C C++, Vergleich mit Java 17 Calendar 90 callserially() 121 Camera 233 Canvas 59, 97, 100 CBS 271 CDC 20, 38 certificate authority 218, 365 Choice 68 ChoiceGroup 87 CLDC 20, 34 Client 219 Clipping 114 collideswith() 126 Command 76

14 444 Stichwortverzeichnis commandaction() 76, 81 CommandListener 76 ConnectionNotFoundException 50 Connector 199 Cookies 216 createimage() 56, 62 creatergbimage() 132, 133 critical section 112 CRLF 201 CustomItem 92 D Datagramm 199, 220 DateField 89 Datei 161 Dateisystem 159 Datenbank 147 Datensatz 150 Deckkraft 102, 132 DefaultHandler 353 deleterecord() 154 deleterecordstore() 157 destroyapp() 42 DISMISS_COMMAND 61, 78 Display 58 callserially() 121 Displayable 59 Document Object Model (DOM) 135, 140 Double Buffering 114 draw-methoden ( Graphics) 103 DTD 421 E elektronische Visitenkarte 167 encode() 212 Entität (DTD) 422 enumeraterecords() 154 Ereignisverarbeitung Canvas 100 Displayable-Objekt 76 Form 82 Item 80 Player 198 RMS 157 Tastatur 101 Erlaubnisse 363 Erscheinungsbild (Item) 80 externe Anwendungen starten 49 externe Libraries einbinden 360 F Farbe 102 Fehlerbehandlung (PIM) 174 Fehlervermeidung 377 FileConnection 161 fill-methoden ( Graphics) 103 Filter 156, 161 finally 164 flushgraphics() 122 Font 82 Form 74 Fortschrittsanzeige 202 Foundation Profile 20 Frame 124 FX siehe JavaFX G Game Action 101 GameCanvas 122 Garbage Collector 18 Gauge 60, 91 GET 202 getappproperty() 46 getclass() 52 getcurrent() 58 getdate() 90 getdisplaycolor() 102 getfont() 84 getgameaction() 101 getinteractionmodes() 96 getkeycode() 101 getkeystates() 123 get-methoden (RMS) , 157 getresourceasstream() 52 getselectedflags() 70 getselectedindex() 71 GPS 436

15 Stichwortverzeichnis 445 Graphics 102 GSM, GRPS 436 H haspointerevents() 100 Header (Http) 201 Hex-Codierung 212 hidenotify() 100, 113 High-level-API 57 Host Controller 285 HTML 436 HTTP 201,436 HttpConnection 199 httpd.conf 381 HTTPS 200, 217, 436 HYPERLINK 80 I Identifizierung 217 ImageItem 85 Immediate Mode 245 Inquiry 292 Installationswege 29 Internet-Anbindung 199 interrupt() 109 InterruptedException 109 IrDA 437 iscolor() 100 isdoublebuffered() 100 ISO , 437 iso isshown() 58 Item 79 ItemCommandListener 81 ItemStateListener 82 J JABWT 289 jar-verzeichnisstruktur 51 Java Verified Program 368 JAVA_HOME 21 JavaFX 375 JCP 18, 437 JDK 21 JEdit 21 JPEG 56 JSR 18, 437 JTWI 49, 363, 418 JVM 437 K Kameraaufnahme 195 keypressed() 97, 101 Klingeltöne 185 Kollisionserkennung 126 Kommandos 76 Konfiguration (Beispielverzeichnis) 31, 425 Konfigurationen 33 kritischer Abschnitt 112 ksoap 362 ktools.properties 31, 425 KVM 20, 437 kxml 362 L Label 79 Landmarken 333 Latenzzeiten 18 Lautstärke 187 Layer 122 LayerManager 127 Layout Form 75 Item 80 LCDUI 438 Lebenszyklus (MIDlet) 41 lib-verzeichnis zur Einbindung externer Libraries 360 List 70 listrecordstores() 158 LocalDevice 294 Location API 323 Lokalisierung 323 Luftschnittstelle 29 M M3G 223

16 446 Stichwortverzeichnis Manager 180 Manifest-Datei 46 MDA 437 Mesh 254 MessageConnection 272 MessageListener 276 MIDI 188, 438 MIDlet 20, 41, 438 Lebenszyklus 41 Suite 41, 438 Zustände 41 MIDletStateChangeException 45 MIDP 20, 38 MIME 181, 438 Web-Server-Konfiguration 382 mime.types 382 Mini-Web-Server 215, 402 MMAPI 439 monochrom 103 MSA 363, 418 Multimedia 179 N NetBeans 395 nextframe() 125 notify() 110 notifypaused() 43 notifystatechanged() 81, 96 numalphalevels() 100 numcolors() 100 O OBEX 288 Obfuscator 27 oneshot 365 OpenGL 223 OpenGL ES 261 openrecordstore() 149 OTA, MIME-Type-Konfiguration 382 over the air (OTA) 29, 39 P paint() Canvas 102 CustomItem 95 PATH 401 pauseapp() 42 PDA 439 permissions 363 persönliche Informationen verwalten 167 Personal Area Network 285 Personal Basis Profile 38 Personal Profile 20 Pfad 401 Piconet 285 PIM API 167 PLAIN 80 platformrequest() 49 Player 180 playsound() 61 playtone() 182 PNG 56 pointerpressed() 101 Popup-Wahl 69 Portabilität 17 POST 206, 439 Prä-Verifikation 24 Projekt 23, 395 Projektverzeichnis 31 protection domains 363 PushRegistry 280 Q QualifiedCoordinates 329 Quellverzeichnis 388 R Rastergrafik 134 rebuild() 154 Record Management System 147 RecordComparator 155 RecordFilter 156 RecordListener 157 RecordStore 148 registeralarm() 281 removecommand() 76, 81 repaint() 96, 114

17 Stichwortverzeichnis 447 Ressourcen, Zugriff auf 51 resumerequest() 42 RFC 439 RFCOMM 439 RFID 439 root 161 RSA 366 Runnable 112 S SATSA 369 SAX 362 SAXParser 353 Scatternet 285 Schieberegler 91 Schneefallsimulation 116 Schutzbereiche 363 SCiTE 21 Scroll-Tasten 48 security domains 363 SELECT_COMMAND 74 serieller Port 199 Server 219, 385 Server-Socket 200, 219 servicerepaints() 115 Servlet 213 Session 216 session 365 setcell() 124 setcolor() 103 setcommandlistener() 76 setcurrent() 58, 63 setcurrentitem() 80 setdate() 90 setdefaultcommand() 81 setframe() 125 setframesequence() 125 setitemcommandlistener() 81 setitemstatelistener() 82 setlayout() 80 setmode() 158 setpreferredsize() 80 setrecord() 154 setrefpixelposition() 125 settimeout() 60 settitle() 59 settransform() 125 SGML 420 SHA1 366 shownotify() 100, 113 Sicherheit 165, 363 Sicherheitsbereichen 363 Signatur 365 Signierung 363 sleep 110 SMS 271 SOAP 346, 440 Socket 199, 219 Softkey 25 Sortierung 156 Spacer 84 Speicherkarten 160 Spiele API 122 Sprite 124 SSL 200 Start externer Anwendungen 49 startapp() 42 Steuerung von Threads 109 StringItem 84 Sun WTK siehe WTK SVG (Scalable Vector Graphics) 134 animiert 138 Document Object Model 140 Synchronisation AMS und Berechnung 113 Anzeige und Berechnung 115, 121 RecordStore 147 Synthesizer 188 Szenengraph 224 T Tastaturereignis 101 Tastencode 101 Technologie 346 Tempo 188

18 448 Stichwortverzeichnis TextBox 64 TextField 89 Texturen 258 Thread-Steuerung 109 Thumbnail 197 TiledLayer 123 TimeZone 90 Tomcat 384 ToneControl 184 Tonfolgen 184 Tonhöhenregelung 187 Touchscreen 101 traits 145 Transparenz 102, 132 traverse() 96 trusted 363 U UDDI 346, 440 UDP 220 Umgebungsvariable 401 UMTS 440 Undurchsichtigkeit 102, 132 Unicode 440 URI 161, 440 URL 441 Codierung 201, 212 Rewriting 216 URN 441 UTF 441 V vcard, vcalendar 167, 441 Verifikation 24 Verschlüsselung 369 VertexBuffer 246 vertrauenswürdig 165, 363 Vertraulichkeit 217 Verzeichnis 161 Verzeichnisstruktur (jar) 51 Video 189 wait() 110 WAP 441 WAP-Browser 50 Web-Server 379 Konfiguration 381 Mini- 215, 402 Web-Services 343 WGS84-Format 332 Wiedergabe Audio-Datei 185 -geschwindigkeit 188 -zeitpunkt 187 Wildcard 161 Wireless Toolkit siehe WTK WLAN 442 WMA 271, 442 WML 398, 442 WSDL 346, 361, 442 WTK 21, 442 Dateisystem 161 Klingeltonkonverter 185 Netzwerk-Monitoring 382 Start externer Anwendungen 50 Zeigegerät 58 X XEmacs 21 XHTML 442 XML 420 Schema 424 SVG 134 XSL 421 Z Zeigegerät 58 Zeitzone 90 Zertifikat 218, 365 W W3C 441

Java ME Anwendungsentwicklung für Handys, PDA und Co.

Java ME Anwendungsentwicklung für Handys, PDA und Co. Ulrich Breymann, Heiko Mosemann Java ME Anwendungsentwicklung für Handys, PDA und Co. ISBN-10: 3-446-41376-6 ISBN-13: 978-3-446-41376-4 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter

Mehr

Inhaltsverzeichnis. Vorwort 11

Inhaltsverzeichnis. Vorwort 11 Vorwort 11 1 Einführung 17 1.1 Warumjava? 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

Mehr

Ulrich Breymann Heiko Mosemann. Java ME. Anwendungsentwicklung für Handys, PDA und Co. HANSER

Ulrich Breymann Heiko Mosemann. Java ME. Anwendungsentwicklung für Handys, PDA und Co. HANSER Ulrich Breymann Heiko Mosemann Java ME Anwendungsentwicklung für Handys, PDA und Co. HANSER Inhaltsverzeichnis Vorwort 11 1 Einführung 17 1.1 Warum Java? 17 1.2 Einschränkungen 19 1.3 Java Micro Edition

Mehr

Inhaltsverzeichnis. Vorwort... 11

Inhaltsverzeichnis. Vorwort... 11 Inhaltsverzeichnis Vorwort........................................ 11 1 Einführung.................................... 17 1.1 Warum Java?................................ 17 1.2 Einschränkungen..............................

Mehr

Klaus-Dieter Schmatz. Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mitcldcundmidp. 2., aktualisierte und erweiterte Auflage

Klaus-Dieter Schmatz. Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mitcldcundmidp. 2., aktualisierte und erweiterte Auflage Klaus-Dieter Schmatz Java Micro Edition Entwicklung mobiler JavaME-Anwendungen mitcldcundmidp 2., aktualisierte und erweiterte Auflage Inhaltsverzeichnis 1 Einleitung 1 1.1 Das Green Project: Von Oak zu

Mehr

ANWENDUNGSENTWICKLUNG

ANWENDUNGSENTWICKLUNG ulrich BREYMANN heiko MOSEMANN JAVAME ANWENDUNGSENTWICKLUNG FÜR HANDYS, PDA UND CO. 2. Auflage Breymann/Mosemann Java ME v Bleiben Sie einfach auf dem Laufenden: www.hanser.de/newsletter Sofort anmelden

Mehr

Verteilte Anwendungen Java 2 Mobile Edition

Verteilte Anwendungen Java 2 Mobile Edition Verteilte Anwendungen Java 2 Mobile Edition Robert Eigner 29.06.2006 Gliederung Organisatorisches Einführung J2ME Geschichte Das Java Universum J2ME Basics J2ME: CLDC/MIDP Midlets Anwendungsentwicklung

Mehr

Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP. von Klaus D. Schmatz. 2., aktualis. u. erw. Aufl.

Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP. von Klaus D. Schmatz. 2., aktualis. u. erw. Aufl. Java Micro Edition Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP von Klaus D. Schmatz 2., aktualis. u. erw. Aufl. Java Micro Edition Schmatz schnell und portofrei erhältlich bei beck-shop.de

Mehr

Hauptseminar. Mobiles WWW Arndt Kühne

Hauptseminar. Mobiles WWW Arndt Kühne Hauptseminar Mobiles WWW 31.01.2003 Arndt Kühne Übersicht Mobile Kommunikation WAP I-Mode J2ME Zusammenfassung (Beispiele) Mobile Kommunikation Mobile Kommunikation - Trägernetze Mobilfunknetze und Dienste

Mehr

Programmierung mobiler Kleingeräte

Programmierung mobiler Kleingeräte Programmierung mobiler Kleingeräte Einführung in J2ME Wolfgang Auer, Patrick Ritschel Java 2 Plattformen Quelle: Sun, Datasheet Java 2 Platform, Micro Edition Programmierung mobiler Kleingeräte, Einführung

Mehr

Usability-Test für mobile Java-Anwendungen

Usability-Test für mobile Java-Anwendungen Usability-Test für mobile Java-Anwendungen Problemstellung / Abgrenzung Usability Engineering / Patterns Usability Test Tool-Kette Fazit Roland Petrasch Usability-Test für mobile Java-Anwendungen Problemstellung

Mehr

Java-Kurs: J2ME Programmierung von Embedded Devices mit der Java 2 Plattform, Micro Edition

Java-Kurs: J2ME Programmierung von Embedded Devices mit der Java 2 Plattform, Micro Edition Java-Kurs: J2ME Programmierung von Embedded Devices mit der Java 2 Plattform, Micro Edition David Vogler david.vogler@stz-softwaretechnik.de Steinbeis-Transferzentrum Softwaretechnik j2mekurs.tex Java-Kurs:

Mehr

Konzepte von Betriebssystem- Komponenten:

Konzepte von Betriebssystem- Komponenten: Konzepte von Betriebssystem- Komponenten: OS für kleine Endgeräte: Symbian OS Sven Walter Folie 1/25 S.Walter Überblick 1. Einleitung 2. Hardware Anforderungen und Architektur 3. Betriebssystem Architektur

Mehr

Java in der Telekommunikation

Java in der Telekommunikation Stephan Rupp Gerd Siegmund Java in der Telekommunikation Grundlagen, Konzepte, Anwendungen fim dpunkt.verlag 1 Einführung 1 1.1 Ausgangslage 3 1.1.1 Netze 3 1.1.2 Endgeräte 7 1.1.3 Dienste 8 1.2 Neue Architekturen

Mehr

J2ME Software Entwicklung und Fehlersuche

J2ME Software Entwicklung und Fehlersuche J2ME Software Entwicklung und Fehlersuche Ein Praxisbericht Dipl.-Inf.(FH) M.Sc. Michael Kroll IT-Berater - Michael Kroll Consulting & Solutions 31.05.2007 Was erwartet sie? Überblick über die API Entwicklung

Mehr

Mobile Betriebsysteme

Mobile Betriebsysteme Mobile Betriebsysteme Ueli Hofstetter, Philippe Hungerbühler, Anil Kandrical Seminar in Mobile Communication Systems WS 06/07 1 1.1 Kleingeräte für mobile Betriebsysteme Embedded System Personal Digital

Mehr

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Informatik, Informationselektronik, Wirtschaftsinformatik, Lehramt Informatik, Chemie, etc. Dipl.-Ing. Institute for Pervasive Computing Johannes

Mehr

Java 2 Micro Edition. Informatikseminar - Steffen Lahm. Vortragsüberblick

Java 2 Micro Edition. Informatikseminar - Steffen Lahm. Vortragsüberblick Vortragsüberblick Historische Entwicklung Beispiele Anwendungsmöglichkeiten Historische Entwicklung 1990 Überlegungen zur Evolution der Computerentwicklung Green Project Ergebnis: Star7 ( *7 ) Kabelloser

Mehr

Java ME Wo bleiben die Applikationen? JUGS Dienstag, 12. Dezember 2006

Java ME Wo bleiben die Applikationen? JUGS Dienstag, 12. Dezember 2006 Java ME Wo bleiben die Applikationen? JUGS Dienstag, 12. Dezember 2006 Roland Loser Leiter Mobile Applications roland.loser@glue.ch JUGS 12.12.06 / 2 Was kennen Sie für Java ME Anwendungen? Opera Mini

Mehr

Mobile UI für ios und Android. SIMATIC WinCC Open Architecture

Mobile UI für ios und Android. SIMATIC WinCC Open Architecture Mobile UI für ios und Android SIMATIC WinCC Open Architecture siemens.de/wincc-open-architecture Inhaltsverzeichnis Merkmale Vorteile Funktionen Architektur Konfigurationen Security Empfehlungen & Voraussetzungen

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

Java ME Anwendungsentwicklung für Handys, PDA und Co.

Java ME Anwendungsentwicklung für Handys, PDA und Co. Ulrich Breymann, Heiko Mosemann Java ME Anwendungsentwicklung für Handys, PDA und Co. ISBN-10: 3-446-41376-6 ISBN-13: 978-3-446-41376-4 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41376-4

Mehr

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis HANSER r 1 Einleitung 2 1.1 Über dieses Buch 3 1.2 Für wen ist das Buch gedacht? 4 1.3 Wie ist das Buch aufgebaut? 5 1.4 Konventionen

Mehr

Informatik B. Vorlesung 23 MIDlets. Dr. Ralf Kunze

Informatik B. Vorlesung 23 MIDlets. Dr. Ralf Kunze Vorlesung 23 MIDlets 1 Rückblick J2ME Konfiguration Profil Optionale Pakete MIDlet MIDlet-Suite Lebenszyklus Erste UI-Komponenten Command 2 Beispiel: Einkaufsliste Es soll eine Einkaufsliste für das Handy

Mehr

Informatik in Bewegung

Informatik in Bewegung Informatik in Bewegung Entwicklung eingebetteter Software für mobile Geräte Bochum, 20./21.06.2009 Präsentationsüberblick Geschichte von Research In Motion (RIM) Womit beschäftigt sich RIM? Was sind die

Mehr

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dr. Thomas Scheidl Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz scheidl@pervasive.jku.at Java Einführung Java

Mehr

Java ME. Anwendungsentwicklung für Handys, PDA und Co. von Heiko Mosemann, Ulrich Breymann. 1. Auflage. Hanser München 2006

Java ME. Anwendungsentwicklung für Handys, PDA und Co. von Heiko Mosemann, Ulrich Breymann. 1. Auflage. Hanser München 2006 Java ME Anwendungsentwicklung für Handys, PDA und Co. von Heiko Mosemann, Ulrich Breymann 1. Auflage Hanser München 2006 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22997 6 Zu Inhaltsverzeichnis

Mehr

WildFly Application Server Administration

WildFly Application Server Administration WildFly Application Server Administration Seminarunterlage Version: 1.04 Version 1.04 vom 18. Januar 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

1.3.1 Java-Compiler installieren

1.3.1 Java-Compiler installieren 1 Java 1.3.1 Java-Compiler installieren Der Java-Compiler ist, wie auch die Java Virtual Machine, Teil des Java Development Kit (JDK) und kann kostenlos auf der Website von Oracle heruntergeladen werden.

Mehr

Steuerung eines Roboters über unzuverlässige WLAN Verbindungen

Steuerung eines Roboters über unzuverlässige WLAN Verbindungen Steuerung eines Roboters über unzuverlässige WLAN Verbindungen Andreas Jabs der RWTH Aachen Echtzeitaspekte bei der Koordinierung autonomer Systeme Überblick Motivation Java Micro Edition Unzuverlässige

Mehr

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

Mehr

2 Ein Streifzug durch die JavaME

2 Ein Streifzug durch die JavaME 7 The nice thing about standards is that you have so many to choose from; furthermore, if you don t like any of them, you can just wait for next year s model. Andrew S. Tanenbaum Die Java Micro Edition

Mehr

Inhaltsverzeichnis. Mehr Informationen zum Titel. Dank... V Geleitwort... IX Geleitwort... XI Vorwort... XIII

Inhaltsverzeichnis. Mehr Informationen zum Titel. Dank... V Geleitwort... IX Geleitwort... XI Vorwort... XIII Mehr Informationen zum Titel Inhaltsverzeichnis Dank... V Geleitwort... IX Geleitwort... XI Vorwort... XIII 1 Einführung.... 1 1.1 Entstehungsgeschichte von OPC... 1 1.2 OPC ein Überblick... 8 1.3 Vergleich

Mehr

FRANZIS PROFESSIONAL SERIES. Herbert Burbiel. SOA & Webservices. ~ in der Praxis. 197 Abbildungen

FRANZIS PROFESSIONAL SERIES. Herbert Burbiel. SOA & Webservices. ~ in der Praxis. 197 Abbildungen FRANZIS PROFESSIONAL SERIES Herbert Burbiel SOA & Webservices ~ in der Praxis 197 Abbildungen 9 Inhaltsverzeichnis 1 Bedienungsanleitung zum Buch 15 1.1 Nutzen des Buchs 15 1.2 So verwenden Sie das vorliegende

Mehr

Mobile Spiele. Ein Überblick über verschiedene Technologien. Inhaltsverzeichnis. Emanuel Giger Urs Huber

Mobile Spiele. Ein Überblick über verschiedene Technologien. Inhaltsverzeichnis. Emanuel Giger Urs Huber Mobile Spiele Ein Überblick über verschiedene Technologien Emanuel Giger Urs Huber Inhaltsverzeichnis 1. Einführung in die mobilen Spiele 2. Der mobile Spiele Markt 3. Kriterien für ein erfolgreiches mobiles

Mehr

map.apps 4 Bundles PIONEER / Systemvoraussetzungen

map.apps 4 Bundles PIONEER / Systemvoraussetzungen map.apps 4 Bundles 4.0.0-PIONEER / 3.7.0 Systemvoraussetzungen Version map.apps 4 (Bundles 4.0.0-PIONEER / 3.7.0) Urheberschutz Der rechtmäßige Erwerb der con terra Softwareprodukte und der zugehörigen

Mehr

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und

Mehr

0 IP C. Architecture. Von Data Access bis Unified. Jürgen Lange Frank Iwanitz Thomas J. Burke. 4., völlig neu bearbeitete und erweiterte Auflage

0 IP C. Architecture. Von Data Access bis Unified. Jürgen Lange Frank Iwanitz Thomas J. Burke. 4., völlig neu bearbeitete und erweiterte Auflage Jürgen Lange Frank Iwanitz Thomas J. Burke 0 IP C Von Data Access bis Unified Architecture 4., völlig neu bearbeitete und erweiterte Auflage VDE VERLAG GMBH Berlin Offenbach Inhaltsverzeichnis Dank...

Mehr

Node.js Einführung Manuel Hart

Node.js Einführung Manuel Hart Node.js Einführung Manuel Hart Seite 1 Inhalt 1. Node.js - Grundlagen 2. Serverseitiges JavaScript 3. Express.js 4. Websockets 5. Kleines Projekt Seite 2 1. Node.js Grundlagen Node.js is a JavaScript runtime

Mehr

Wodurch unterscheiden sich die Dateien in tmpclasses und in classes?

Wodurch unterscheiden sich die Dateien in tmpclasses und in classes? Entwicklung Mobiler Anwendungen, Praktikum 1 von Klaus Schwarzkopf 705519 und Bastian Baist 705496 Aufgabe: Midlet mit dem Emulator ausführen, Benutzerschnittstelle Starten Sie das Wireless Toolkit (Symbol

Mehr

Microsoft.NET XML-Webdienste Schritt für Schritt

Microsoft.NET XML-Webdienste Schritt für Schritt Adam Freeman Allen Jones Microsoft.NET XML-Webdienste Schritt für Schritt Microsoft Press Teil A Kapitel 1 Einführung Warum haben wir dieses Buch geschrieben? Wer sollte dieses Buch lesen? Der Aufbau dieses

Mehr

HTML5 und das Framework jquery Mobile

HTML5 und das Framework jquery Mobile HTML5 und das Framework jquery Mobile Seminarvortrag Naeema Anees Betreuer: Prof. Ulrich Stegelmann Dipl.-Inform. Axel Blum Einleitung Vielfalt an mobilen Geräten Verschiedene Betriebssysteme Verschiedene

Mehr

Mobiltelefonprogrammierung mit Python

Mobiltelefonprogrammierung mit Python Mobiltelefonprogrammierung mit Python Python für die S60 Plattform Dr. Philippe Morath Python Stammtisch, 08. Mai 2007 Inhalt Mobiltelefone & S60 Plattform Mobiltelefonprogrammierung Python S60 auf dem

Mehr

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

Programmieren fürs iphone

Programmieren fürs iphone Markus Stäuble Programmieren fürs iphone Einstieg in die Anwendungsentwicklung mit dem iphone SDK 3 2., aktualisierte und erweiterte Auflage Г5 dpunkt.verlag 1 Einleitung 1 1.1 Begriffe 2 1.2 Was behandelt

Mehr

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java.  Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Programmiersprachen, Übersicht 2 Quelle: heise.de W. Geiger, W. Süß, T. Schlachter, C.

Mehr

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 02 Java was, wann, warum, wieso Java, eine objektorientierte Programmiersprache Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems.

Mehr

Pervasive Computing. Technologie und Architektur mobiler Internet-Anwendungen

Pervasive Computing. Technologie und Architektur mobiler Internet-Anwendungen &SOS -5600 Jochen Burkhardt, Horst Henn, Stefan Hepper, Klaus Rindtorff, Thomas Schäck Pervasive Computing Technologie und Architektur mobiler Internet-Anwendungen An imprint of Pearson Education München

Mehr

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

CADEMIA: Einrichtung Ihres Computers unter Mac OS X CADEMIA: Einrichtung Ihres Computers unter Mac OS X Stand: 30.01.2017 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.

Mehr

OPC. Von Data Access bis Uflif ied Architecture. Jürgen Lange Frank Iwanitz Thomas J. Burke. 4., völlig neu bearbeitete und erweiterte Auflage

OPC. Von Data Access bis Uflif ied Architecture. Jürgen Lange Frank Iwanitz Thomas J. Burke. 4., völlig neu bearbeitete und erweiterte Auflage Jürgen Lange Frank Iwanitz Thomas J. Burke OPC Von Data Access bis Uflif ied Architecture 4., völlig neu bearbeitete und erweiterte Auflage VDE^VERLAG GMBH Berlin Offenbach Dank : V Geleitwort IX Geleitwort

Mehr

Java ME. Anwendungsentwicklung für Handys, PDA und Co. von Ulrich Breymann, Heiko Mosemann. 1. Auflage

Java ME. Anwendungsentwicklung für Handys, PDA und Co. von Ulrich Breymann, Heiko Mosemann. 1. Auflage Java ME Anwendungsentwicklung für Handys, PDA und Co. von Ulrich Breymann, Heiko Mosemann 1. Auflage Java ME Breymann / Mosemann schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Hanser

Mehr

Rapid Java wie mit Forms

Rapid Java wie mit Forms DOAG Konferenz 2011 Rapid Java wie mit Forms Java aktuell: XDEV 3 ist die erste professionelle Java IDE für Rapid Application Development. Viele RAD-Funktionen und die Arbeitsweise damit erinnern sehr

Mehr

Java in der Welt der Handys. Matthias Hemetsberger Joseph Erlinger Erwin Schwab Rudi Dittrich

Java in der Welt der Handys. Matthias Hemetsberger Joseph Erlinger Erwin Schwab Rudi Dittrich Java in der Welt der Handys Matthias Hemetsberger Joseph Erlinger Erwin Schwab Rudi Dittrich Überblick Einführung in MIDP Zusatzpackages: WMA (wireless messaging API) MMA (mobile media API) MIDP = Mobile

Mehr

Dienste und Applikationen

Dienste und Applikationen Oliver Brinker Jens Gundermann Heinz Koch Andreas Schmiedel Dienste und Applikationen in Mobilfunknetzen UMTS GPRS GSM i-mode 1. Auflage - Stand: Januar 2005 ISBN 3-932229-74-6 Herausgeber: \E Institut

Mehr

Handbuch der mobilen Geoinformation

Handbuch der mobilen Geoinformation Jörg Blankenbach Handbuch der mobilen Geoinformation Architektur und Umsetzung mobiler standortbezogener Anwendungen und Dienste unter Berücksichtigung von Interoperabilität Herbert Wichmann Verlag Heidelberg

Mehr

Johannes Hentrich DITA. Der neue Standard für Technische Dokumentation VERLAG

Johannes Hentrich DITA. Der neue Standard für Technische Dokumentation VERLAG Johannes Hentrich DITA Der neue Standard für Technische Dokumentation VERLAG 1 DITAim Überblick 13 1.1 Charles Darwin und die Technische Dokumentation 14 1.2 Zielsetzung bei der Entwicklung von DITA 17

Mehr

LAZARUS. von Michael Van Canneyt, Mattias Gärtner, Swen Heinig, Felipe Monteiro de Carvalho, Inoussa Ouedraogo und Jörg Braun

LAZARUS. von Michael Van Canneyt, Mattias Gärtner, Swen Heinig, Felipe Monteiro de Carvalho, Inoussa Ouedraogo und Jörg Braun LAZARUS von Michael Van Canneyt, Mattias Gärtner, Swen Heinig, Felipe Monteiro de Carvalho, Inoussa Ouedraogo und Jörg Braun INHALT Vorwort 13 Kapitel 1 Die Architektur von Lazarus 15 von Mattias Gärtner

Mehr

Alternative Architekturkonzepte

Alternative Architekturkonzepte Alternative Architekturkonzepte Motivation: Suche nach einer Gesamtstruktur meistens: dominante nichtfunktionale Eigenschaften legen Architektur fest Antrieb: Architekturziel Ziel: globale Betrachtung

Mehr

EIBPORT 3 VPN SSL Nutzung mit OpenVPN-Client

EIBPORT 3 VPN SSL Nutzung mit OpenVPN-Client BAB TECHNOLOGIE GmbH EIBPORT 3 VPN SSL Nutzung mit OpenVPN-Client Datum: 11. Oktober 2016 DE BAB TECHNOLOGIE GmbH 1 OPTIMALE DATENSICHERHEIT Um bei Internet-Zugriffen auf EIBPORT 3 eine ausreichende Datensicherheit

Mehr

Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis

Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis Philipp Tendyra Web Service in kurzen Worten dient der Kommunikation zwischen verschiedenen Systemen

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Vorwort 15 Einleitung 17 1 Was ist JSP und was braucht man für JSP? 21 1.1 Was ist JSP? 21 1.2 JSP und J2EE 22 1.3 JSP und Servlets 23 1.4 Web-Applikationen 24 1.5 Notwendige

Mehr

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August 2002. Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August 2002. Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back XML Grundlagen Andreas Rottmann,Sebastian Riedl 27. August 2002 Rottmann, Riedl: XML Grundlagen 1 Überblick Hintergründe und Geschichte Aufbau von XML-Dokumenten DTD Schemata Erweiterungen XML APIs Rottmann,

Mehr

Thesis Outline. Erstellung eines universellen Konzepts zur Kommunikation auf mobilen Geräten mit Hilfe von Positionsbestimmung.

Thesis Outline. Erstellung eines universellen Konzepts zur Kommunikation auf mobilen Geräten mit Hilfe von Positionsbestimmung. Thesis Outline Erstellung eines universellen Konzepts zur Kommunikation auf mobilen Geräten mit Hilfe von Positionsbestimmung. von Thomas Steinberg am 09.12.2005 Übersicht Einleitung Motivation Mehrwert

Mehr

Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen

Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen Inhalt Motivation allgemeine Bedrohungen für mobile Endgeräte bösartige Anwendungen für

Mehr

Mobile Computing. J2ME - Mobile Media API. Ablauf. 1. Anwendungsbereich. 1. Multimedia-Prozesse. 1. Eigenschaften der MMAPI

Mobile Computing. J2ME - Mobile Media API. Ablauf. 1. Anwendungsbereich. 1. Multimedia-Prozesse. 1. Eigenschaften der MMAPI Mobile Computing Mobile Media API Ein Einblick in die Multimedia- Programmierung von Pocket-Devices Ablauf 1. Überblick über J2ME und die MMAPI 2. Klassen und Interfaces 3. Abspielen 4. Aufnehmen 5. MIDlet

Mehr

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel Einführung Servlets JEE Vorlesung Teil 2 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Wiederholung Hello World Blick in die Details Servlet Programmierung Potentielle Fehler Lernziele Gruppenübung 2

Mehr

Programmieren mit Edipse 3

Programmieren mit Edipse 3 Michael Seeboerger-Weichselbaum Programmieren mit Edipse 3 Universelle Entwicklungsplattform für Java, PHP, C/C++, SQL, XML, XSLT, XSL-FO, JSP, Servlets, J2EE, UML, HTML, CSS, JavaScript I n halts verzeich

Mehr

Betriebssysteme für mobile Endgeräte p.1

Betriebssysteme für mobile Endgeräte p.1 Betriebssysteme für mobile Endgeräte Übersicht und Marktanalyse Silvio Böhler sboehler@student.ethz.ch Internet Economics Betriebssysteme für mobile Endgeräte p.1 Betriebssysteme für mobile Endgeräte Charakteristiken

Mehr

JSR 184 Mobile 3D Graphics API M3G Vortrag an der Hochschule Fulda November 2010, Dipl.-Inf (FH) Jeronimo Werder

JSR 184 Mobile 3D Graphics API M3G Vortrag an der Hochschule Fulda November 2010, Dipl.-Inf (FH) Jeronimo Werder JSR 184 Mobile 3D Graphics API M3G Vortrag an der Hochschule Fulda November 2010, Dipl.-Inf (FH) Jeronimo Werder Einleitung Bisher 3D-Grafik hauptsächlich in PCs Jetzt in vielen anderen Systemen, wie Set-Top-Boxes

Mehr

Oliver Brinkmann Java Swing-Applikationen & JApplets (mit NetBeans)

Oliver Brinkmann Java Swing-Applikationen & JApplets (mit NetBeans) Oliver Brinkmann oliver.brinkmann@smail.fh-koeln.de Java Swing-Applikationen & JApplets (mit NetBeans) 1 Einführung in NetBeans Vorstellung: AWT-/Java-Swing-Paket JApplet Ereignisverarbeitung mit NetBeans

Mehr

HANA CLOUD CONNECTOR

HANA CLOUD CONNECTOR Systemnahe Anwendungsprogrammierung und Beratung GmbH A-1030 Wien, Kölblgasse 8-10/2.OG (Hoftrakt) www.snapconsult.com Tel. +43 1 617 5784 0 Fax +43 1 617 57 84 99 HANA CLOUD CONNECTOR Seite 2 von 9 INHALTSVERZEICHNIS

Mehr

Programmieren mobiler Geräte

Programmieren mobiler Geräte Datum Technologie Entwicklung Werkzeug Übung Grundlagen 23.10.30 1 Überblick Ant Kompilieren 30.10.03 2 WLAN, BT Eclipse Projektverwaltung 06.11.03 3 GSM Eclipse Debugging 13.11.03 4 WAP, WML, WMLS XML

Mehr

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

SVG für mobile Anwendungen und Dienste. 42. Sitzung der Arbeitsgruppe Automation in der Kartographie (AgA) am 12. und 13. September 2005 in Wien

SVG für mobile Anwendungen und Dienste. 42. Sitzung der Arbeitsgruppe Automation in der Kartographie (AgA) am 12. und 13. September 2005 in Wien für mobile Anwendungen und Dienste Dipl.-Ing. JÖRG BLANKENBACH 42. Sitzung der Arbeitsgruppe in der Kartographie (AgA) am 12. und 13. September 2005 in Wien und Anwendungen - Standortabhängige Dienste

Mehr

Inhalt. Einführung RFC-Funktionsbausteine in ABAP Funktionsbausteine zum Lesen Aufruf per srfc 108

Inhalt. Einführung RFC-Funktionsbausteine in ABAP Funktionsbausteine zum Lesen Aufruf per srfc 108 Einführung 13 3 1.1 SAP NetWeaver Application Server 17 1.1.1 SAP-Lösungen und SAP NetWeaver 18 1.1.2 SAP NetWeaver Application Server ABAP 20 1.1.3 SAP NetWeaver Application Server Java 34 1.2 Sicherheit

Mehr

WebForms ohne Oracle Application Server

WebForms ohne Oracle Application Server WebForms ohne Oracle Application Server Praktische Erfahrungen aus der Integration einer Forms 10g Anwendung in einen BEA WebLogic Application Server Vortrag DOAG-Regiogruppe Freiburg/Südbaden 24.04.07

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Anwendungsentwicklung mit Java Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

VAADIN, SPRING BOOT & REST

VAADIN, SPRING BOOT & REST VAADIN, SPRING BOOT & REST Ein Einstieg für Domino Entwickler Stephan Kopp 1 STEPHAN KOPP Software & Solutions Development Tel.: +49 6182 7869420 Mobil: +49 173 3089806 E-Mail: stephan.kopp@axians.de 2

Mehr

Grundlagen der Web-Entwicklung INF3172

Grundlagen der Web-Entwicklung INF3172 Grundlagen der Web-Entwicklung INF3172 Web-Services Thomas Walter 16.01.2014 Version 1.0 aktuelles 2 Webservice weitere grundlegende Architektur im Web: Webservice (Web-Dienst) Zusammenarbeit verschiedener

Mehr

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004

Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts. Thorsten Ludewig. Juni 2004 METEOR Internet-basierendes Autorensystem zur Erschließung historischen Kulturguts Thorsten Ludewig Juni 2004 1 Übersicht Was ist METEOR Architektur Technische Realisierung Zusammenfassung Zukünftige Entwicklungen

Mehr

map.apps Version Systemvoraussetzungen

map.apps Version Systemvoraussetzungen map.apps Version 3.6.0 Systemvoraussetzungen Version 3.6.0 Urheberschutz Der rechtmäßige Erwerb der con terra Softwareprodukte und der zugehörigen Dokumente berechtigt den Lizenznehmer zur Nutzung dieser

Mehr

Modernisierung von Forms durch neues Look&Feel

Modernisierung von Forms durch neues Look&Feel Modernisierung von Forms durch neues Look&Feel Dr. Gudrun Pabst gudrun.pabst@trivadis.com Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Agenda Definition

Mehr

Ein Leben ohne Notes Client Sven Hasselbach

Ein Leben ohne Notes Client Sven Hasselbach Ein Leben ohne Notes Client 2016 Sven Hasselbach Ein Leben ohne Notes ClientÜber mich Sven Hasselbach Freiberuflicher IT Consultant seit 2003 IBM Champion 2013 Blog: http://blog.hasselba.ch Komme nicht

Mehr

INHALT. Vorwort 13. Kapitel 1 Die Architektur von Lazarus 15

INHALT. Vorwort 13. Kapitel 1 Die Architektur von Lazarus 15 INHALT Vorwort 13 Kapitel 1 Die Architektur von Lazarus 15 von Mattias Gärtner 1.1 Der Quelltexteditor 19 1.1.1 CodeTools 20 1.1.2 Schnelle Navigation im Code 20 1.1.3 Automatische Vervollständigung 23

Mehr

CADEMIA: Einrichtung Ihres Computers unter Windows

CADEMIA: Einrichtung Ihres Computers unter Windows CADEMIA: Einrichtung Ihres Computers unter Windows Stand: 30.01.2017 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Liste Programmieren Java Überblick

Liste Programmieren Java Überblick Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1 Vorwort... Einleitung... V VII Einführung... 1 1 Grundlagen... 7 1.1 Dokumentmodelle... 7 1.1.1 Multimedia... 8 1.1.2 Hypermedia... 9 1.1.3 Verteilung... 11 1.2 Geschichte des WWW... 13 1.2.1 Struktur...

Mehr

Einführung in das Programmieren

Einführung in das Programmieren Einführung in das Programmieren HelloWorld, NetBeans, Tutle-Umgebung Torsten Thoben, 15. April 2015 Get your tools Um mit Java zu programmieren werden drei Werkzeuge benötigt. 1. Der Java Compiler. Übersetzt

Mehr

HW 5 HW 10. HTC Wildfire. Samsung S5230

HW 5 HW 10. HTC Wildfire. Samsung S5230 Samsung S5230 Smartphone, 1800, 1900, Virtuell QWERTZ, 3" großes Display, Touchscreen, Kamera, Effektiv 3,10 MegaPixel, 2x Zoom (digital), Videoaufzeichnung, 100 MB interner Micro-SD, SDHC-Card, bis 8

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr