1 / 33

Java 2 Micro Edition Von Andreas Scharf Seminar Internettechnologie

Java 2 Micro Edition Von Andreas Scharf Seminar Internettechnologie. 19.01.07. Inhalt. Java 2 Micro Edition – Was ist das? Geschichte Grundlagen Architektur Überblick Konfigurationen Profile Optionale Pakete Anwendungsentwicklung (CLDC + MIDP) Einstieg

tatum
Download Presentation

Java 2 Micro Edition Von Andreas Scharf Seminar Internettechnologie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java 2 Micro EditionVon Andreas ScharfSeminar Internettechnologie 19.01.07

  2. Inhalt • Java 2 Micro Edition – Was ist das? • Geschichte • Grundlagen • Architektur Überblick • Konfigurationen • Profile • Optionale Pakete • Anwendungsentwicklung (CLDC + MIDP) • Einstieg • Schritte zum Programm (JAR, Manifest, JAD) • Lebenszyklus • Grafikbibliothek • Zusammenfassung • Fragen

  3. Java 2 Micro Edition • Was ist das? • „Java für Handys, Set-Top-Boxen, Eingebetette Systeme,…“ • Ist Teil von Java • Was kann es? • Einfache Entwicklung von Software (Programme, Spiele,…) • Unterstützung von grafischen Elementen • Möglichkeit auf „Low-Level“-Ebene zu arbeiten • Canvas • Grundlegende Unterstützung von Netzwerkkommunikation: • Generic Connection Framework (GCF) • HTTP(S), TCP, UDP

  4. Inhalt • Java 2 Micro Edition – Was ist das? • Geschichte • Grundlagen • Architektur Überblick • Konfigurationen • Profile • Optionale Pakete • Anwendungsentwicklung (CLDC + MIDP) • Einstieg • Schritte zum Programm (JAR, Manifest, JAD) • Lebenszyklus • Grafikbibliothek • Zusammenfassung • Fragen

  5. Geschichte • Januar 1991 : Offizieller Startschuss des Java Development Kits (JDK) 1.0 • 1997 : JDK 1.1 und erstmals Java Runtime Environment (JRE) • Ende 1998 : JDK 1.2. Begriff „Java-2-Platform“ entstand. • 1999 : Unterteilung des sehr groß gewordenen JDK in: • Mai 2000 : J2SE 1.3 • Anfang 2002 : J2SE 1.4 • Ende 2004 : Java 5.0 (Versionsnummer nach außen – 1.5 nach innen) • Ende 2006 : Java 6.0 • Java 2 Platform Micro Edition (J2ME) • Java 2 Platform Standard Edition (J2SE) • Java 2 Platform Enterprise Edition (J2EE)

  6. Inhalt • Java 2 Micro Edition – Was ist das? • Geschichte • Grundlagen • Architektur Überblick • Konfigurationen • Profile • Optionale Pakete • Anwendungsentwicklung (CLDC + MIDP) • Einstieg • Schritte zum Programm (JAR, Manifest, JAD) • Lebenszyklus • Grafikbibliothek • Zusammenfassung • Fragen

  7. Grundlagen • J2ME Java mit deutlich geringerem Funktionsumfang • Idee: Einmal entwickeln läuft überall • 2 Gerätegruppen: • Mobiltelefone, … • Sehr geringe Rechenleistung • Wenig Speicher • Akku • Kleines Display • Smartphones, Set-Top Boxen, … • Erhöhte Rechenleistung • Mehr Speicher • (Größeres Display)

  8. Grundlagen • Aufteilung der Java Platform

  9. Konfiguration Bibliothek JVM Grundlagen • Architektur Überblick Spezieller Optionale Pakete Profile J2ME Betriebssystem

  10. Grundlagen • Konzept der Konfigurationen: • Connected Limited Device Configuration (CLDC) Basiskonfiguration für Geräte mit limitiertem Funktionsumfang (Mobiltelefone) • Connected Device Configuration (CDC) Basiskonfiguration für Geräte mit mehr Rechenleistung, Speicher, Energiebedarf (Smartphones, Set-Top Boxen, Eingebettete Systeme) • Legen Minimalanforderungen fest: • Prozessor-Typ und Geschwindigkeit • Typ und Minimum an verfügbarem Speicher • Typ der Netzwerkverbindung

  11. Grundlagen • Für CLDC sind das: • Monochrom-Display, 96×54 Pixel, Pixelseitenverhältnis 1:1 • 2-Wege-(Drahtlos-)Netzwerk • Eingabegerät (Ein-/ Zweihandtastatur oder Touchscreen) • 128 KB nichtflüchtiger Speicher für MIDP-Komponenten • 8 KB nichtflüchtiger Speicher • 32 KB flüchtiger Speicher für die Ausführung einer Java Virtual Machine • Java-fähige Mobiltelefone müssen dies einhalten • C(L)DC = Java Virtual Machine + Standardbibliotheken

  12. Konfiguration Bibliothek JVM Grundlagen • Architektur Überblick Spezieller Optionale Pakete Profile J2ME Betriebssystem

  13. Grundlagen • Profile bauen auf Konfigurationen auf • Angepasst auf bestimmte Gerätegruppen • Besitzen neue Bibliotheksfunktionen Erweiterter Funktionsumfang • z.B. das Mobile Information Device Profile (MIDP) • Baut auf CLDC auf • Funktionen zur Ansteuerung und Abfrage von Einhandtastaturen, Miniaturbildschirmen und Speicher im Kilobyte Bereich • Bibliotheken für grafische Benutzeroberflächen • Profile für CDC: Foundation Profile, Personal Basis Profile, Personal Profile

  14. Konfiguration Bibliothek JVM Grundlagen • Architektur Überblick Spezieller Optionale Pakete Profile J2ME Betriebssystem

  15. Grundlagen • Optionale Pakete z.B. Herstellerspezifisch (Nokia, Siemens,…) • Noch mal erweiterter Funktionsumfang • Zugriff auf Spezialfunktionen (Handyspezifisch) • Multimedia Support wie Streaming-Video • Bluetooth • WLAN • Zugriff auf das Dateisystem

  16. Grundlagen • Beispiel: Motorola • Multimedia Support für einige ausgewählte Modelle • Jeweils beiliegende Emulatoren

  17. Inhalt • Java 2 Micro Edition – Was ist das? • Geschichte • Grundlagen • Architektur Überblick • Konfigurationen • Profile • Optionale Pakete • Anwendungsentwicklung (CLDC + MIDP) • Einstieg • Schritte zum Programm (JAR, Manifest, JAD) • Lebenszyklus • Grafikbibliothek • Zusammenfassung • Fragen

  18. Anwendungsentwicklung • Benötigt werden: • Eine Konfiguration • Ein zur Konfiguration passendes Profil • Zum Beispiel: CLDC + MIDP • Am einfachsten: • Download von Sun Java Wireless Toolkit 2.5 for CLDC, Beta 2 • Enthält alles was man braucht • Lediglich ein Editor wird noch benötigt

  19. Anwendungsentwicklung • Schritte zum Erstellen einer Anwendung: Java Quellcode HelloWorld.java Kompilieren Java Bytecode HelloWorld.class Präverifizieren Java Bytecode HelloWorld.class Packen Ressourcen Manifest Grafik.png Manifest.mf HelloWorld.jad Jar-Datei HelloWorld.jar

  20. Anwendungsentwicklung • Syntax genauso wie bei Java publicclass HelloWorld extendsMIDlet{ publicvoidstartApp() { Display display = Display.getDisplay(this); Form mainForm = new Form("HelloWorld MIDlet"); mainForm.append("Hello World!"); display.setCurrent(mainForm); } publicvoidpauseApp () {} publicvoiddestroyApp(boolean unconditional) {} }

  21. Anwendungsentwicklung • Programmlebenszyklus: new() Paused destroyApp() Destroyed pauseApp() startApp() Active destroyApp()

  22. Anwendungsentwicklung • Manifest.mf Manifest-Version: 1.0 MIDlet-Name: HelloWorld MIDlet-Vendor: Andreas Scharf MIDlet-1: Hello World MIDlet,pi-logo2.png,main.HelloWorld MIDlet-Version: 1.0.0 MicroEdition-Profile: MIDP-2.0 MicroEdition-Configuration: CLDC-1.1

  23. Anwendungsentwicklung • Java Application Descriptor (JAD) HelloWorld MIDletExamples.jar beschreibt HelloWorld.jad AlertMIDlet pi-logo2.png MIDlet-1: AlertMIDlet,pi-logo2.png,main.AlertMIDlet MIDlet-2: HelloWorldMIDlet,pi-logo2.png,main.HelloWorld MIDlet-Jar-Size: 4503 MIDlet-Jar-URL: MIDletExamples.jar MIDlet-Name: MIDlet Example Suite MIDlet-Vendor: Andreas Scharf MIDlet-Version: 1.0.0 MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0

  24. Anwendungsentwicklung • Beispiel: MIDP Klassen für grafische Benutzeroberfläche Display TextBox High-Level API Alert <<abstract>> Screen Gauge List ImageItem <<abstract>> Item <<abstract>> Displayable Form StringItem DateField … <<abstract>> Canvas Low-Level API

  25. Anwendungsentwicklung • Benutzeroberflächen: • Verschiedene „High-Level“ Komponenten: List Alert TextBox Gauge

  26. Anwendungsentwicklung Alert publicvoidstartApp() { Display display = Display.getDisplay(this); Alert alert = null; try { alert = new Alert( „HelloWorld MIDlet", "Internettechnologie alert", Image.createImage("/pi-logo2.png"), AlertType.INFO); } catch (IOException e) {} display.setCurrent(alert); }

  27. Anwendungsentwicklung List publicvoidstartApp() { Display display = Display.getDisplay(this); List liste = new List( "Teilnehmerliste", List.EXCLUSIVE); liste.append("Anton Arendt", null); liste.append("Berta Besen", null); liste.append("Carola Cola", null); display.setCurrent(liste); }

  28. Anwendungsentwicklung • Low-Level API: Canvas Klasse • Wird benutzt um Pixel für Pixel zeichnen zu können • Andere Formen werden möglich (durch drawXXX – Methoden) • z.B. für Spiele

  29. Inhalt • Java 2 Micro Edition – Was ist das? • Geschichte • Grundlagen • Architektur Überblick • Konfigurationen • Profile • Optionale Pakete • Anwendungsentwicklung (CLDC + MIDP) • Einstieg • Schritte zum Programm (JAR, Manifest, JAD) • Lebenszyklus • Grafikbibliothek • Zusammenfassung • Fragen

  30. Zusammenfassung • Es wird immer eine Konfiguration und ein Profil benötigt • Derzeit (und wahrscheinlich in Zukunft): • Konfigurationen: CLDC + CDC • Profile: MIDP Foundation Profile, Personal Basis Profile, Personal Profile • Idee „Einmal entwickeln läuft überall“ greift leider nicht 100%ig • Viele Hersteller sind relativ neu im Gebiet Java • Dadurch fehlerhafte Implementierung der VM • Nicht zu vergleichen mit der Desktop Variante • Die J2ME hat Zukunft: • So gut wie alle neuen Handys bieten Java Unterstützung (großer Markt) • Keine neue Sprache

  31. Fragen Fragen?

  32. Vielen Dank für Ihre Aufmerksamkeit

  33. Quellen • SUN: „The Java ME Platform“. URL: http://java.sun.com/javame/index.jsp [Stand: 19.01.2007] • Wikipedia: „Java Platform, Micro Edition“ URL: http://de.wikipedia.org/wiki/Java_2_Platform_Micro_Edition [Stand: 19.01.2007] • Area Mobile: „Application Development in J2ME“ URL: http://www.areamobile.de/specials/J2ME/teil_I.php [Stand: 19.01.2007] • Galileo Computing: „Java ist auch eine Insel“ URL: http://www.galileocomputing.de/openbook/javainsel5/javainsel19_009.htm [Stand: 19.01.2007] • dpunkt: „Die Sprache Java“. URL: http://www.dpunkt.de/java/Die_Sprache_Java/Einleitung/11.html [Stand: 19.01.2007]

More Related