List
List
Stellt eine Liste von Auswahlmöglichkeiten auf dem Schirm dar. Die Elemente können entweder per Checkbox ( mehrere Elemente gleichzeitig wählbar ), per Radiobutton ( nur ein Element gleichzeitig wählbar ) (more…)
List
Stellt eine Liste von Auswahlmöglichkeiten auf dem Schirm dar. Die Elemente können entweder per Checkbox ( mehrere Elemente gleichzeitig wählbar ), per Radiobutton ( nur ein Element gleichzeitig wählbar ) (more…)
Textbox
Textbox ist ein Bildschirm zur mehrzeiligen Texteingabe. Dabei kann der erlaubte Zeichenvorrat durch sogenannte Constraints eingeschränkt werden. Beispielsweise können nur numerische Zeichen oder Zeichen für eine E-Mail Adresse zugelassen werden. (more…)
Im Paket javax.microedition.lcdui sind sämtliche Klassen enthalten. Ein Dialog wird durch ein Objekt der Klasse Displayable repräsentiert, wovon zu jedem Zeitpunkt nur eines am Bildschirm dargestellt werden kann. (more…)
Benutzerschnittstellen von Kleingeräten fallen sehr unterschiedlich aus: Je nach Größe ( und Anschaffungspreis ) des Geräts variieren die Displaygrößen, Displayauflösugen und die darstellbare Farbtiefe der Displays. (more…)
Die LCDUI ( Lowest Common Denominator User Interface ) lässt sich in zwei Schichten einteilen – die High Level UI und die Low Level UI. (more…)
RGB Bilder:
Bilder können als integer Arrays angesehen werden, dies erlaubt Bilder direkt zu bearbeiten. Pixel haben je 8 Bit für Rot, Grün und Blau sowie (more…)
In diesem Paket sind die für SSL und HTTPS benötigten Funktionen zur Nutzung einer Public Key Infrastructure ( PKI ) zur Verschlüsselung und Zertifizierung enthalten. (more…)
Die neuen Klassen des MIDP 2.0:
Certificate, CertificateException, CommConnection, Control,Controllable, CustomItem, GameCanvas, HttpsConnection,ItemCommandListener, Layer, LayerManager, Manager,MediaException, Player, (more…)
Verbesserung des Game API:
Die Entwicklung von Spielen wurde erleichtert und verbessert, da gerade Spiele zum Erfolg von J2ME beitragen und dort die Plattformunabhänigkeit besonders wichtig ist. (more…)
Die Benutzerschnittstelle wurde erweitert.
Die eingeschränkte Funktionalität des alten LCDUI-APIs wird durch Unterstützung für vom Entwickler entworfene Items und eine bessere Kontrolle des Formularlayouts erweitert. Items werden in Formularen in Reihen angeordnet. (more…)
Die Netzwerksicherheit wurde erhöht.
MIDP 2.0 unterstützt verschlüsselte Verbindungen via HTTPS, hierfür wurden die Klassen HttpsConnection, SecurityInfo und Certificate hinzugefügt.
Ein verbessertes Sicherheitsmodell.
Das Sicherheitsrahmenwerk von MIDP 1.0 wurde überarbeitet und unterteilt die MIDlets in zwei Kategorien: Trusted und Untrusted. (more…)
Der persistente Speicher dient für Anwendungsdaten, die dauerhaft gespeichert werden müssen (Konfigurationsdateien, Highscores etc.) und auch nicht beim Ausschalten oder dem Wechsel des Geräteakkus verloren gehen dürfen.
Eine Configuration wird mit Hilfe von Profilen für bestimmte Geräte-Familien spezialisiert und erweitert. MIDP für Handys ist das erste und wichtigste Profil das Sun zur Verfügung stellt. (more…)
Mit der rasanten Weiterentwicklung im Bereich der mobilen Hardware nimmt sowohl die Rechenleistung als auch die Speicherausstattung der Endgeräte zu. Dementsprechend wurde die Nachfolgeversion CLDC 1.1 mit zusätzlichen Fähigkeiten ausgestattet. (more…)
Garbage Collection:
Die finalize() – Methode wird auch nicht unterstützt, diese wird in der Standardedition aufgerufen bevor die Objekte dem Garbage-Collector zum Opfer fallen. (more…)
Threads:
Ebenso sind Thread Groups oder Deamon Threads nicht möglich, genauso wenig wie Weak References. Threads können also nicht zu Gruppen zusammengefasst und so hierarchisch gegliedert werden. (more…)
Classloader:
Es gibt auch keine benutzerdefinierten Classloader. Die KVM verwendet einen fest eingebauten Classloader, die Möglichkeit ihn zu ersetzen besteht nicht. (more…)
Reflection:
Reflection ermöglicht es, Metadaten über die Struktur von Klassen, Methoden und Variablen zur Laufzeit bereitzustellen. (more…)
Java Native Interface:Aus Sicherheitsgründen fehlt das Java Native Interface ( JNI ) völlig, damit lassen sich in der J2SE native Funktionsaufrufe realisieren. (more…)
Fehlerbehandlung:
Auch im Bereich der Klassen Exception und Error ist die API eingeschränkt. Die CLDC 1.0 unterstützt keine „harten Fehler“ aus der Oberklasse java.lang.Error. (more…)
CLDC 1.0 unterstützt keine Gleitkomma-Arithmetik, das heißt eine Verwendung der Datentypen Float oder Double ist nicht möglich. Ebenso fehlen natürlich sämtliche Rechenfunktionen mit Fliesskommazahlen wie abs(), acos(), atan() etc. (more…)
Zum einen hat sich die Zahl der Klassen im Vergleich zur Java Standard Edition reduziert. Von den bekannten Paketen sind nur java.lang, java.io und java.util übrig geblieben – zum anderen (more…)
Sicherheitslücken und Viren sind auf mobilen Endgeräten eine besonders Brisant, da hier sehr leicht hohe Kosten für den Inhaber des betroffenen Gerätes entstehen können, z. B. durch den Versand von SMS, MMS, das tätigen von (more…)
Die KVM prüft lediglich ob die Klassen vorschriftsgemäß verifiziert wurden, die rechenaufwändige Überprüfung des Bytecodes wird somit eingespart. (more…)
Die KVM besitzt aufgrund der beschränkten Hardwarefähigkeiten keinen echten Bytes Code Veryfier, welcher bei den Standard- und Enterprise Editions zur Laufzeit dafür sorgt, dass nur (more…)
Eines der ersten J2ME-fähigen Mobiltelefone war das Motorola Accompli 008, welches gleich mit einem J2ME-basierten Betriebssystem aufwarten konnte und 2001 auf den Markt kam. Das Accompli war kein (more…)
Kernstück der Java 2 Micro Edition ist eine Virtuelle Maschine, die speziell auf die Restriktionen von eingebetteten Systemen, Mobiltelefonen und PDAs, zugeschnitten wurde. (more…)
Java 2 Platform, Micro Edition, abgekürzt J2ME, ist eine Umsetzung der Programmiersprache Java für mobile Endgeräte wie etwa Mobiltelefone oder Personal Digital Assistants ( PDA ).Auf der weltweit größten Java-Entwicklerkonferenz, der (more…)
Um die Einschränkungen, der die J2ME unterlegen ist, zu verdeutlichen:
Während J2SE in der Version 1.4 aus 2723 Klassen in 135 Packages besteht, kommen (more…)