Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Page: 1© S. Rupp, 2003, Symbian_j2me.ppt Java 2 Micro Edition Trainingsunterlage Programmierung mit MIDP 1.0 und MIDP 2.0.

Ähnliche Präsentationen


Präsentation zum Thema: "Page: 1© S. Rupp, 2003, Symbian_j2me.ppt Java 2 Micro Edition Trainingsunterlage Programmierung mit MIDP 1.0 und MIDP 2.0."—  Präsentation transkript:

1 Page: 1© S. Rupp, 2003, Symbian_j2me.ppt Java 2 Micro Edition Trainingsunterlage Programmierung mit MIDP 1.0 und MIDP 2.0

2 Page: 2© S. Rupp, 2003, Symbian_j2me.ppt 1 : Übersicht über Architektur und Releases 2 : Java 2 Micro Edition 3 : Connected Limited Device Configuration 4 : Mobile Information Device Profile 5 : Wireless Toolkit 6 : Ausblick - MIDP 2.0 und weiter Programmierung mit Java

3 Page: 3© S. Rupp, 2003, Symbian_j2me.ppt 1.0 : Einführung 1.1 : Laufzeitumgebung 1.2 : Spezifikationen für Anwendungen (API) 1.3 : Releases Java Architektur und Releases

4 Page: 4© S. Rupp, 2003, Symbian_j2me.ppt Eine objektorientierte Sprache. Ein kommunaler Prozess zur Spezifikation objektorientierter Modelle, zur Entwicklung von Konzepten und technologischer Lösungen für alle für die Entwicklung von Software interessanten Bereiche (der Java-Baukasten). Ein Baukasten für Entwickler (Spezifikationen für Application Program Interfaces, Bibliotheken, Quelltexte, Beispiele, Referenzimplementierungen) Eine Software-Umgebung für portable Anwendungen (virtuelle Maschine, ladbarere Bytecode, Absicherung der Systeme durch Beschränkungen der Rechte der Anwendungen) Was ist Java?

5 Page: 5© S. Rupp, 2003, Symbian_j2me.ppt Java Plattform Hardware System Plattform Operating Sytem Hardware Drivers Java Virtual Machine Java API + Libraries Java Applications and Applets Die Java Architektur

6 Page: 6© S. Rupp, 2003, Symbian_j2me.ppt Spezifikation von Objektklassen, Methoden und Attributen Nach Anwendungspaketen geordnet, wie z.B. graphische Benutzerschnittstellen (z.B. Swing) Kommunikation über Netze Verwendung von Datenbanken (z.B. JDBC) verteilte Anwendungen (z.B. RMI, JINI) Verarbeitung von Medien (z.B. Java Media Framework) Intranet, Internet, Software-Integration in Unternehmen, mobile Endgeräte, TV, Chip-Karten,... Was ist eine Programmierschnittstelle (API)?

7 Page: 7© S. Rupp, 2003, Symbian_j2me.ppt API-Spezifikation als HTML-Framesets (1)

8 Page: 8© S. Rupp, 2003, Symbian_j2me.ppt API-Spezifikation als HTML-Framesets (2)

9 Page: 9© S. Rupp, 2003, Symbian_j2me.ppt Offene Organisation von Java Entwicklern und Lizenznehmnern weltweit Ziel: Entwicklung und Weiterentwicklung technischer Spezifikationen, Referenzimplementierungen, sowie Tools und Testspezifikationen für die Kompatibiltität von Java Technologien Von SUN Microsystems 1995 initiiert und inzwischen eine eigenständige Organisation, siehe Hauptprodukt für Entwickler: Java Specification Requests (JSRs), z.B. JSR-82 für künftige Bluetooth APIs oder JSR- 118 über die Programmierung mobiler Telefone (MIDP, mobile independent device profile) Java Community Process

10 Page: 10© S. Rupp, 2003, Symbian_j2me.ppt Das geeignete Java Release: für Desktop Anwendungen die Standard Edition für Mobiltelefone und Consumer-Elektronik die Micro Edition für Anwendungen in Unternehmen die Enterprise Edition Laufzeitumgebung (Virtual Machine, Compiler, Bibliotheken, Referenzimplementierung,...) Entwicklungs-Toolkit (Integrierte Tools, Emulatoren, gerätespezifische Tools) Dokumentation (API-Spezifikationen,...) Was benötigt man für die Anwendungsentwicklung?

11 Page: 11© S. Rupp, 2003, Symbian_j2me.ppt Java Programming Language Hot SpotJVMKVMCard VM Java 2 Enterprise Edition Java 2 Standards Edition Java 2 Micro Edition Server Workstation Set-Top Box PC, Notebook Network Computer Communicator PDA Screenphone Smartcard Mobile phone Point of Sales CLDCCDC Physical memory: Processor: 10 MB 64 Bit 512 kB 32 Bit8 Bit 1 MB 32 Bit 32 kB 16 Bit Java Releases

12 Page: 12© S. Rupp, 2003, Symbian_j2me.ppt Zweck der Java Releases ist die Ordnung der mit der Zeit stark gewachsenen APIs nach Anwendungsgruppen. Die Java Standard Edition beinhaltet alles, was zur Entwickung von Client-Anwendungen benötigt wird. Zielsysteme für J2SE sind vorwiegend Desktop-Systeme bzw. mobile Computer und Netzcomputer. J2SE entspricht weitgehend dem Funktionsumfang des Development Kits JDK 1.2 (ca Klassen in 1999) und enthält ausserdem die Laufzeitumgebung (JRE). Inzwischen stehen mit JSE 1.4 zusätzliche Funktionen bereit, wie z.B. die HotSpot Virtual Machine und APIs zur Verarbeitung von XML Dokumenten. Was ist die Standard Edition (J2SE)?

13 Page: 13© S. Rupp, 2003, Symbian_j2me.ppt Ein Konzept zur Realisierung und Integration von Anwendungen im Web und in Unternehmen. Alle dazu benötigten Komponenten, die über den Bedarf der Standard Edition hinausgehen, sind in der Enterprise Edition enthalten. Die Architektur unterscheidet folgende Schichten: Client für Präsentation und Benutzerschnittstellen z.B. in einem Browser (Applet Container), bzw. in einer Client- Anwendung (Application Client Container) Server im Web bzw. im Unternehmen (Web-Container bzw. Enterprise Java Beans Container) Datenverwaltung (Datenbank) Was ist die Enterprise Edition (J2EE)?

14 Page: 14© S. Rupp, 2003, Symbian_j2me.ppt J2EE Architektur und Komponenten Applet Container J2SE Client Application Client Application Container Database JMS JNDI RMI JDBC JMS JNDI JTA J-Mail JAF RMI JDBC J2SE Web Container JSP Page Servlet JMS JNDI JTA J-Mail JAF RMI JDBC J2SE EJB Container Enterprise Bean HTTP RMI-IIOP

15 Page: 15© S. Rupp, 2003, Symbian_j2me.ppt J2EE beinhaltet die J2SE und bietet weitere Funkionen. Zu den zusätzlichen Funktionen gehören: Servlets (Server-seitige Anwendungen für Web-Server) und die Server-seitige Unterstützung von Java Server Pages (zur Erzeugung dynamischer Web-Seiten) Server-Applikationen mit Hilfe von Enterprise Java Beans. Der Anwendungsentwickler konzentriert sich dabei auf seine Anwendung. Infrastrukturaufgaben (wie z.B. die Behandlung von Transaktionen und die Behandlung persistenter Daten) übernimmt der EJB-Container. CORBA und Transaktionsdienste Erläuterungen zu J2EE (1)

16 Page: 16© S. Rupp, 2003, Symbian_j2me.ppt Zur J2EE gehören: die Spezifikationen die Referenzimplementierung von SUN Microsystems die Test-Suite zur Kompatibilität von J2EE Technologien Design Richtlinien für Anwendungen Server für die J2EE Technologie werden von Technologiepartnern realisiert und angeboten. Die Funktion der in der Abbildung aufgeführten Komponenten werden in einem separaten Teil des Trainings erläutert. Erläuterungen zu J2EE (2)

17 Page: 17© S. Rupp, 2003, Symbian_j2me.ppt 1 : Übersicht über Architektur und Releases 2 : Java 2 Micro Edition 3 : Connected Limited Device Configuration 4 : Mobile Information Device Profile 5 : Wireless Toolkit 6 : Ausblick MIDP 2.0 und weiter Programmierung mit Java

18 Page: 18© S. Rupp, 2003, Symbian_j2me.ppt 2.0 : Übersicht 2.1 : Zielsysteme 2.2 : Aufbau von J2ME 2.3 : Funktionsumfang von CDC und CLDC 2.4 : MIDP 1.0 Java 2 Mirco Edition

19 Page: 19© S. Rupp, 2003, Symbian_j2me.ppt Eine kleine virtuelle Maschine KVM (benötigt nur ca. 100 kBytes Arbeitsspeicher) Prä-verifizierter Bytecode zur Entlastung des Zielsystems Konfigurationen (Systemeigenschaften): CDC (Connected Device Profile): 32/64 Bit-Prozessor, 2MB CLDC (Connected Limited Device): 16 Bit Prozessor, 256 kB Profile (Gebrauchsmuster für Anwendungen): MIDP (Mobile Interconnected Device Profile) für CLDC: z.B. Mobiltelefon mit kleinem Display und Telefon-Tastatur Wireless Toolkit für die Entwickung und Tests von MIDlets Was ist die Java Micro Edition (J2ME)?

20 Page: 20© S. Rupp, 2003, Symbian_j2me.ppt Zielsysteme für J2ME (1)

21 Page: 21© S. Rupp, 2003, Symbian_j2me.ppt Mobiltelefone derzeit basierend auf CLDC und MIDP 1.0 im Handel für Spiele und Web-Clients Digitale Set-Top-Boxen (MHP) unidirektionale Netzanbindung Java Media Framework CDC nicht wörtlich umgesetzt Embedded Systems erste Bluetooth basierende Implementierungen nach dem JSR-82 verfügbar Zielsysteme für J2ME (2)

22 Page: 22© S. Rupp, 2003, Symbian_j2me.ppt JVMKVM Java 2 Micro Edition CLDCCDC Foundation Profile Midlet Mobiltelefone MIDP Der Aufbau von J2ME (1)

23 Page: 23© S. Rupp, 2003, Symbian_j2me.ppt CLDC verwendet eine kleinere VM (KVM) Speicherbedarf min. 160 kBytes (96 kB für KVM, 32 kB Heap, 32 kB CLDC Klassenbibliotheken) MIDP ergänzt den Funktionsumfang des CLDC Speicherbedarf für MIDP 1.0 zusätzlich min. 168 kB (128 kB für MIDP Klassenbibliotheken, 32 kB Heap, 8kB für persistente Daten) gleicher Compiler wie bei J2SE, jedoch andere Basis- bibliotheken gegenüber der J2SE fängt J2ME wiederum klein an (als erweitertes Subset des J2SE) Der Aufbau von J2ME (2)

24 Page: 24© S. Rupp, 2003, Symbian_j2me.ppt J2SE (Standard Edition) J2ME CDC J2ME CLDC Funktionen ausserhalb des java.* Namens- raumes CDC:Connected Device Configuration CLDC:Connected Limited Device Configuration Funktionsumfang von J2ME

25 Page: 25© S. Rupp, 2003, Symbian_j2me.ppt keine Floating Point Datentypen und Operationen keine Native Interfaces (zu anderen Programmen) keine Beeinflussung des Class Loaders möglich keine Reflexion (Sichtbarkeit von System- eigenschaften zur Laufzeit wie Objekte, Threads etc), dadurch auch keine Remote Method Invocation eingeschränkte Unterprozesse (keine Tread-Gruppen und Demon Threads) Einschränkungen beim CLDC gegenüber J2SE (1)

26 Page: 26© S. Rupp, 2003, Symbian_j2me.ppt keine finalisation() Methode und keine schwachen Referenzen (Objekte, die der Garbage Collector bei Bedarf abräumen darf) Verlagerung des Aufwandes für die Klassen- verifizierung auf das Entwicklungssystem als Prä- verifizierung. Vereinfachte Verifizierung auf dem Zielsystem auf Basis von Attributen im Bytecode. Einschränkungen beim CLDC gegenüber J2SE (2)

27 Page: 27© S. Rupp, 2003, Symbian_j2me.ppt MIDP User Interface: Benutzerführung an Bildschirm und Tastatur MIDP Record Management System: Haltung persistenter Daten MIDP Network Libraries: Herstellung von Verbindungen über das Netz basierend auf dem CLDC Generic Connection Framework Einige systemspezifische Funktionen wie z.B. die Verwendung von Timern Die Komponenten des MIDP 1.0

28 Page: 28© S. Rupp, 2003, Symbian_j2me.ppt 1 : Übersicht über Architektur und Releases 2 : Java 2 Micro Edition 3 : Connected Limited Device Configuration 4 : Mobile Information Device Profile 5 : Wireless Toolkit 6 : Ausblick - MIDP 2.0 und weiter Programmierung mit Java

29 Page: 29© S. Rupp, 2003, Symbian_j2me.ppt 3.0 : Übersicht 3.1 : Sicherheitskonzept 3.2 : Das Generic Connection Framework Connected Limited Device Configuration

30 Page: 30© S. Rupp, 2003, Symbian_j2me.ppt Propr. KVM Betriebssystem CLDC Midlet Mobiltelefon Propr. MIDP System- spezifische Anwendungen Connected Limited Device Configuration

31 Page: 31© S. Rupp, 2003, Symbian_j2me.ppt Verwendet eine erweiterte Untermenge des J2SE: java.io : Eingabe und Ausgabe durch Datenströme java.lang : Basisklassen java.util : Utilities für Zeit, Kalender usw. neues Paket javax.microedition.io für Verbindungen mit der Aussenwelt Dadurch völlig neues und vereinfachtes Konzept für unterschiedliche Typen von Verbindungen zur Kommunikation: das Generic Connection Framework Laden fremder Anwendungen erfordert verschärftes Sicherheitskonzept gegenüber J2SE. Die Komponenten des CLDC

32 Page: 32© S. Rupp, 2003, Symbian_j2me.ppt Sicherheitskonzept (1) Verifizierung des Bytecodes vorgegebener Namensraum Gesicherte Kommunikations- schnittstellen Voneinander isolierte Daten und Anwendungen Virtuelle Maschine

33 Page: 33© S. Rupp, 2003, Symbian_j2me.ppt Virtuelle Maschine: Schutz des Systems vor unberechtigtem Zugriff und Laufzeitfehlern Verifizierung des Bytecodes: gültige Datentypen, Instruktionen und gültiger Adressraum Vorgegebener Namensraum durch fixierten Class- Loader und vorgegebene Bibliotheken Zugriff auf Kommunikationsschnittstellen nur mit Einverständnis des Benutzers (Dialog) Midlets (Midlet-Suites) laufen in einer Anwendungs- umgebung und können nicht miteinander kommuni- zieren oder auf Daten anderer Midlets zugreifen. Sicherheitskonzept (2)

34 Page: 34© S. Rupp, 2003, Symbian_j2me.ppt Unabhängig von ihrem Typ werden Verbindungen generell nach folgendem Schema hergestellt: Connector.open(" : ; "); Konkrete Beispiele hierfür wären: Connector.open(http://www.netads.de"); HTTP-Verbindung Connector.open("socket:// :8090"); Socket-Verbindung Connector.open("comm:0;baudrate=9600"); Serieller Port Connector.open("file:/hiScore.dat");Datei Generic Connection Framework (1)

35 Page: 35© S. Rupp, 2003, Symbian_j2me.ppt Connection StreamConnectionNotifier InputConnection OutputConnection DatagramConnection StreamConnection ContentConnection Klassenhierarchie des CLDC GCF

36 Page: 36© S. Rupp, 2003, Symbian_j2me.ppt CLDC liefert mit dem Interface Connection und seiner Basisklasse Connector den Rahmen. Unterstützte Protokolle werden im jeweiligen Profil spezifiziert, z.B. HTTP bei MIDP 1.0. Zuordung eines Kommunikationsprotokolles erfolgt dynamisch zur Laufzeit. Abstraktion unterschiedlicher Verbindungsarten: eingehende Verbindung bzw. abgehende Verbindung mit kontinuierlichem Datenstrom, Quelle bzw. Senke der Daten in einer Datei, Datagramm. Generic Connection Framework (2)

37 Page: 37© S. Rupp, 2003, Symbian_j2me.ppt Aus der Klassenhierarchie des GCF: InputConnection : serieller Eingang OutputConnection : serieller Ausgang DatagramConnection : einzelnes Paket Eingehende bzw. abgehende Datenströme: StreamConnection : kontinuierlicher Datenstrom ContentConnection : Datei als Quelle oder Senke Benachrichtigung für Server bei eingehendem Verkehr: StreamConnectionNotifier Generic Connection Framework (3)

38 Page: 38© S. Rupp, 2003, Symbian_j2me.ppt 1 : Übersicht über Architektur und Releases 2 : Java 2 Micro Edition 3 : Connected Limited Device Configuration 4 : Mobile Information Device Profile 5 : Wireless Toolkit 6 : Ausblick - MIDP 2.0 und weiter Programmierung mit Java

39 Page: 39© S. Rupp, 2003, Symbian_j2me.ppt 4.0 : Einführung 4.2 : Midlets laden und starten 4.3 : Produktionsprozess für Midlets 4.4 : Midlet Record Store 4.5 : Midlet User Interface 4.6 : Midlet Kommunikationsschnittstelle Mobile Information Device Profile

40 Page: 40© S. Rupp, 2003, Symbian_j2me.ppt Web-Server Application Logic Client HTT P Midlet Suite Midlet Container/ OS Web Container Servlet Content Download Server load application (Midlet Suite) Appli- cation Midlets benehmen sich wie Applets (1)

41 Page: 41© S. Rupp, 2003, Symbian_j2me.ppt Kommunikation über HTTP (bei MIDP 1.0 einziger standardisierter Verbindungstyp) Laufen in einer speziellen Umgebung (Applikations- manager startet, stoppt und löscht Midlets) Werden über eine URL von einem Server geladen bleiben jedoch nach Installation im System erhalten statt Browser (WML, iMode) auch mit URL per SMS Einverständnis des Benutzers wird vor dem Laden per Dialog abgefragt. Dabei werden dem Benutzer die wichtigsten Eigenschaften des Midlets angezeigt. Midlets benehmen sich wie Applets (2)

42 Page: 42© S. Rupp, 2003, Symbian_j2me.ppt JAD Datei JAR Datei WML-Link klicken Browser lädt JAD Programm installieren? Ok. Browser lädt JAR Midlet Suite Programm wird installiert Midlets laden und starten Laden erfolgt in zwei Stufen: Beschreibung laden und anzeigen Laden und Installation nach Einverständis des Benutzers Midlet lässt sich vom Benutzer starten

43 Page: 43© S. Rupp, 2003, Symbian_j2me.ppt pauseApp startApp destroyApp new myWorld() PausedActive Destroyed Zustandsdiagramm eines gestarteten Midlets (1)

44 Page: 44© S. Rupp, 2003, Symbian_j2me.ppt Die Midlet Maschine (Applikationsmodell): Jedes Midlet muss vorgegebene Klassen implementieren, mit Hilfe derer die Anwendungsumgebung die Zustände des Midlets verwaltet. In einer Midlet-Suite gruppierte Midlets können miteinander kommunizieren. Eine Midlet-Suite erhält einen eigenen persistenten Speicher (Record Store). Das Zustandsdiagramm kennt die Zustände actice, paused (Wartezustand), und destroyed (beendet und aus dem Heap gelöscht), zwischen denen durch die vorgegebenen Methoden geschaltet werden kann. Zustandsdiagramm eines gestarteten Midlets (2)

45 Page: 45© S. Rupp, 2003, Symbian_j2me.ppt MyWorld.java Compiler Java Quellcode Java Bytecode Preverifyer Java Bytecode MyWorld.class JAD Datei JAR Datei archive jar -m MyWorld.jad, MyWorld.class MyWorld.jad MyWorldSuite.jar Entwicklungs- system Zielsystem JAR Datei JAD Datei Download JAD? Download JAR? Runtime Verifyer Interpreter (KVM) manifest Resources Erstellung von Midlets (1)

46 Page: 46© S. Rupp, 2003, Symbian_j2me.ppt Sourcecode lässt sich mit regulärem Compiler in Bytecode übersetzen präverifizierter Bytecode ist ebenfalls kompatibel zu J2SE (regulärer Verifizierer ignoriert zusätzl. Attribute) Midlet-Suite wird in ein Java-Archiv gepackt (JAR), das alle für die Anwendung benötigten Midlets und Resourcen enthält Manifest enthält Informationen über den Inhalt der Midlet-Suite (wie JAD-Datei) MIDP-Paket: javax.microedition.midlet Erstellung von Midlets (2)

47 Page: 47© S. Rupp, 2003, Symbian_j2me.ppt Basierend auf Datensätzen (Records) nach dem Prinzip eines Bandgerätes (anhängen, überschreiben an einer vorgegebenen Stelle) Der Record Store repräsentiert die logische Sicht der API, die Implementierung ist herstellerspezifisch. Record Stores sind persistent, z.B. für die Speicherung von Spielständen. Record Stores einzelner Midlet-Suites sind voneinander isoliert (getrennte Namensräume). MIDP-Paket: javax.microedition.rms MIDP Persistent Libraries (Record Store)

48 Page: 48© S. Rupp, 2003, Symbian_j2me.ppt RecordId 1 RecordId 5 RecordId 3 Midlet1 Midlet2 Midlet_Suite_1 Midlet2 Midlet1 Midlet_Suite_2 Record Store Struktur des MIDP Record Stores

49 Page: 49© S. Rupp, 2003, Symbian_j2me.ppt Minimalanforderungen: 96x54 Bildpunkte monochrom Telefontastatur Eine ggf. umfangreichere Ausstattung verwaltet die MIDP-Implementierung des Herstellers (z.B. vertikales Scrollen, spezielle Tasten für Key-Events) Prinzip: Abstraktion von Display (anzeigbare Komponenten) und Tastatur (Ereignisse) MIDP-Paket: javax.microedition.lcdui Die grafische Benutzeroberfläche des MIDP (1)

50 Page: 50© S. Rupp, 2003, Symbian_j2me.ppt Display Displayable StringItem Screen (High Level UI) Canvas (Low Level UI) Alert List TextBox Form Item ImageItem TextField DateField ChoiceGroup Gauge n Die grafische Benutzeroberfläche des MIDP (2)

51 Page: 51© S. Rupp, 2003, Symbian_j2me.ppt Alert Textbox Formular mit Regler Auswahlmenüs (List) Die grafische Benutzeroberfläche des MIDP (3) Beispiele

52 Page: 52© S. Rupp, 2003, Symbian_j2me.ppt Komponenten des User Interfaces: Alert: Hinweise für begrenzte Zeit bzw. mit Quittung des Benutzers ( ALARM, CONFIRMATION, ERROR, INFO, WARNING ) List: Auswahlmenü. Auswahlobjekte werden per list.append angehängt.Typen von Auswahllisten: implizite, explizite und multiple-choice. TextBox: Textfenster mit Eingabemöglichkeit, z.B. für Texte, Passworter, telefonnummern, URL, etc. Form: Formular in Art eines HTML-Formulars zur Komposition verschiedener Items wie Textstrings, Bilder, Texteingabe, Auswahllisten, Schieberegler,... Die grafische Benutzeroberfläche des MIDP (4)

53 Page: 53© S. Rupp, 2003, Symbian_j2me.ppt Zuordnung von Tastatureingaben zu einem Screen Screen Command1 Command2 CommandListener Die grafische Benutzeroberfläche des MIDP (5)

54 Page: 54© S. Rupp, 2003, Symbian_j2me.ppt Screen als zentrale Abstraktion des MIDP UI klassische Menüführung: jeweils gültiger Bildschirm (Screen) wird mit den jeweils möglichen Auswahlmöglichkeiten angezeigt vorgegebene abstrakte Elemente und Ereignisse jedem Screen lassen sich Anweisungen (Commands) zurodnen, die mit passenden Tasten des Gerätes korrespondieren oder durch die Implementierung wiederum als Auswahlmenü wiedergegeben werden, z.B. OK, BACK, CANCEL, STOP, HELP. Ein dem Screen zugeordneter CommandListener übermittelt Tastatureingaben als Ereignisse. Die grafische Benutzeroberfläche des MIDP (6)

55 Page: 55© S. Rupp, 2003, Symbian_j2me.ppt CLDC-Paket javax.microedition.io durch MIDP erweitert um Interface HttpConnection Anwendung nach der Methode des CLDC GCF: string Target_URL = HttpConnection c = (HttpConnection) Connector.open(Target_URL); InputStream is = c.openInputStream(); Eigenschaften der HTTP-Verbindung sind über Methoden des HttpConnection einstellbar (GET, POST, Response Code,...). MIDP Network Library

56 Page: 56© S. Rupp, 2003, Symbian_j2me.ppt 1 : Übersicht über Architektur und Releases 2 : Java 2 Micro Edition 3 : Connected Limited Device Configuration 4 : Mobile Information Device Profile 5 : Wireless Toolkit 6 : Ausblick - MIDP 2.0 und weiter Programmierung mit Java

57 Page: 57© S. Rupp, 2003, Symbian_j2me.ppt J2ME Wireless Toolkit

58 Page: 58© S. Rupp, 2003, Symbian_j2me.ppt Das J2ME gibt es auf der Web-Seite von Sun Microsystems kostenlos zum Laden (java.sun.com/products/j2mewtoolkit) Enthält Emulator zum Ausprobieren fertiger Midlets (z.B. falls kein Java-fähiges Mobiltelefon zur Hand ist). Erstellung eigener Midlets als Projekt mit Verzeichnisstruktur unterstützt Informationen für JAD-Datei und Manifest werden abgefragt Compiler, Präverifizierung und Packen in JAR-Datei durch Bedienelement Build. Das J2ME WTK laden und starten

59 Page: 59© S. Rupp, 2003, Symbian_j2me.ppt Hello World im Wireless Toolkit (1)

60 Page: 60© S. Rupp, 2003, Symbian_j2me.ppt import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloWorld extends MIDlet implements CommandListener { private Form myScreen; private static final Command EXIT_CMD = new Command( "Exit", Command.EXIT, 1 ); protected void startApp() { myScreen = new Form( "MIDlet-Titel" ); myScreen.addCommand( EXIT_CMD ); myScreen.setCommandListener( this ); myScreen.append( "Hello World!" ); Display.getDisplay( this ).setCurrent( myScreen ); } Hello World im Wireless Toolkit (2)

61 Page: 61© S. Rupp, 2003, Symbian_j2me.ppt protected void pauseApp() {} protected void destroyApp(boolean unconditional) {} public void commandAction( Command c, Displayable d ) { if ( c == EXIT_CMD ) { destroyApp( true ); notifyDestroyed(); } Hello World im Wireless Toolkit (3)

62 Page: 62© S. Rupp, 2003, Symbian_j2me.ppt Hello World im Wireless Toolkit (4)

63 Page: 63© S. Rupp, 2003, Symbian_j2me.ppt 1 : Übersicht über Architektur und Releases 2 : Java 2 Micro Edition 3 : Connected Limited Device Configuration 4 : Mobile Information Device Profile 5 : Wireless Toolkit 6 : Ausblick - MIDP 2.0 und weiter Programmierung mit Java

64 Page: 64© S. Rupp, 2003, Symbian_j2me.ppt Basiert auf dem CLDC 1.0 und erweitert den Funktionsumfang des MIDP 1.0 um: abgesicherte Verbindungen (HTTPS, Secure Sockets) und signierte Midlets mit besonderen Privilegien (z.B. Kommunikatrionsschnittstelle ohne individuellen Dialog mit dem Benutzer bedienen) mehr Protokolle zur Vernetzung: Sockets, UDP Push-Dienste: Nachrichten von subskribierten Diensten im Netz wecken Midlets auf mehr Multimedia für Audio, Video und Spiele (Teil der Multi Media API, Graphik, Benutzerschnittstelle) standardisiertes Over-the-Air Provisioning (OTA) MIDP 2.0

65 Page: 65© S. Rupp, 2003, Symbian_j2me.ppt Die API des MIDP 2.0

66 Page: 66© S. Rupp, 2003, Symbian_j2me.ppt Noch einige kBytes mehr: Über den Bedarf des CLDC hinaus erfordert MIDP 2.0 min. 256 kB für Klassenbibliotheken, 128 kB Heap, 8 kB persistente Daten Pakete des MIDP 2.0: Erweiterungen von javax.microedition.lcdui und javax.microedition.io neu sind javax.microedition.lcdui.games und javax.microedition.media (Subset des Multi Media API nach JSR-135 inklusive Media-Controller) ebenfalls neu ist javax.microedition.pki Anforderungen des MIDP 2.0

67 Page: 67© S. Rupp, 2003, Symbian_j2me.ppt Wireless Toolkit 1.4 mit MIDP 2.0 Demos

68 Page: 68© S. Rupp, 2003, Symbian_j2me.ppt Mit den Erweiterungen gegenüber MIDP 1.0 zielt MIDP 2.0 hauptsächlich auf Spiele (inkl. Multimedia) mobile Clients Standardisierung der OTA-Schnittstelle schafft Kompatibiltiät mit den Verkaufsmaschinen (Java Vending Machines) unterschiedlicher Anbieter. Kopplung über asynchrone Anchrichten, geicherte Verbindungen und Public Key Infrastruktur schaffen Voraussetzungen für mobile Clients in Unternehmen. Ausrichtung des MIDP 2.0

69 Page: 69© S. Rupp, 2003, Symbian_j2me.ppt Mobile Media WTK unterstützt bereits Mobile Media API (JSR-135) MIDP 2.0 fordert nur monophonen Audio-Player, künftig ggf. auch echte multimediale Formate im Standard Mobile Messaging WTK unterstützt Wireless Messaging API (JSR-120) Wireless Messaging API: SMS nach dem GCF mit Connector sms:// als Textstring Bluetooth (JSR-182) Künftige Erweiterungen nach MIDP 2.0 (1)

70 Page: 70© S. Rupp, 2003, Symbian_j2me.ppt Mobile Games mehr Sound, 3D-Grafik, Anschluss von Gamepads etc. Location Based Services API zu Unterstützung von Navigationshilfen, Routen- planern, bzw. Anwendungen aus dem Personenschutz Die weitere Entwicklung ist abhängig von der Aktzeptanz von MIDP 1.0 und 2.0 der Akzeptanz systemspezifischer Lösungen (z.B. auf Basis des Symbian-Betriebssystems), die sich als Kandidaten für Java-Standards eignen. Künftige Erweiterungen nach MIDP 2.0 (2)

71 Page: 71© S. Rupp, 2003, Symbian_j2me.ppt Jamtel Hans Nicole Müller-Schulz Select Tel. geschäftl. Mobiltel. geschäftl. Tel. privat Mobiltel. privat IMS nach: SMS inst. Message Voice mail... bin im Geschäft... bin privat unterwegs... bin off-line Ziele der Verbindung Mobiltelefon Ausblick - Der Telefondienst neu aufgelegt? Kommunikations- zustände

72 Page: 72© S. Rupp, 2003, Symbian_j2me.ppt ENDE Trainingsunterlage Programmierung mit MIDP 1.0 und MIDP 2.0 Java 2 Micro Edition


Herunterladen ppt "Page: 1© S. Rupp, 2003, Symbian_j2me.ppt Java 2 Micro Edition Trainingsunterlage Programmierung mit MIDP 1.0 und MIDP 2.0."

Ähnliche Präsentationen


Google-Anzeigen