Low Level UI


Wie bereits angesprochen besitzt die Low Level UI ein wesentlich niedrigeres Abstraktionsniveau als die High Level UI. Der Programmierer gewinnt durch die Verwendung der Low Level UI die Kontrolle über das exakte Aussehen der Applikation, sie wird deshalb hauptsächlich für die Entwicklung von Spielen eingesetzt. Mit der Low Level LCDUI sind folgende Möglichkeiten gegeben:

  • Pixelgenaues Zeichnen von Objekten auf den Bildschirm
  • Physische Tasten des Geräts abfragen
  • Events wie Drücken und Loslassen von Tasten abfragen

Gerätespezifische Eigenschaften wie Auflösung, Farbtiefe oder bestimmte Gerätetasten sind so für die Anwendung sichtbar. Naturgemäß sind MIDlets, welche mithilfe der Low Level API entwickelt wurden, weniger portabel. Dennoch können (mit dementsprechendem Aufwand) portable Anwendungen auch mit der Low Level API geschaffen werden, da Farbtiefe, Displayauflösung etc. vom Gerät abgefragt werden können und die Applikation somit flexibel an die Ablaufumgebung angepasst werden kann.

Die Klassen des Low Level UI befinden sich wie auch die High Level Klassen im Package javax.microedition.lcdui – hierbei sind die Klassen Canvas und CustomItem von besonderer Bedeutung. Beide sind abstrakte Basisklassen, von denen der Entwickler eigene, maßgeschneiderte Implementierungen ableiten kann. Sie besitzen, obwohl sie nicht von einer gemeinsamen Oberklasse abgeleitet sind, recht ähnliche Methoden.

Canvas ist eine Unterklasse von Displayable (siehe Abbildung XXX) und füllt wie alle Displayables den gesamten Bildschirm aus.

CustomItem ist eine Unterklasse von Item und stellt lediglich eine Formularkomponente dar, die zum Einfügen in Forms geeignet ist.

Beide besitzen beide eine abstrakte Methode paint() welche gezwungenermaßen implementiert werden muss. Wie ihr Name schon sagt, ist sie für die Darstellung auf dem Bildschirm verantwortlich, was auf den Bildschirm gezeichnet wird, wird in dieser Methode festgelegt. Die paint() Methode des CustomItems benötigt als Übergabeparameter neben einem Graphics-Objekt, welches den Methoden beider Klassen übergeben werden muss, zusätzlich Breite und Höhe des zu zeichnenden Bereichs. Das Graphics-Objekt ist von zentraler Bedeutung, es repräsentiert zum einen den Bildschirmbereich, der neu gezeichnet werden soll und enthält zudem die verfügbaren Zeichenoperationen des Low Level UI wie z. B. fillRect(), drawString(), setColor(), drawArc(), setFont() usw.

Low Level UI

Mit der Low Level UI lassen sich eindrucksvolle, mobile 2D-Spiele erstellen die derzeit in etwa das Niveau von Amiga 500 oder Sega Mega Drive Spielen erreichen.


 



Ähnliche Artikel zu "Low Level UI":


Wenn Du noch Fragen zum Thema Low Level UI hast, dann schreib einfach einen Kommentar - oder schau dir meine Buchtipps an:

One Response to “Low Level UI”

  1. Sascha Schäfer Says:

    Hallo,

    ich probiere mich etwas in Java ME aus. Ich habe auch schon deine erste Buchempfehlung gelesen. Danach habe ich etwas mit Hilfe der Low Level 2D API von Java ME programmiert.
    Ich war etwas verwundert als ich einen Text schreiben wollte (Graphics.drawString(…)) und ich die Größe des Texts nicht ändern konnte. Es gibt zwar in der Klasse Font die Felder SIZE_LARGE, SIZE_MEDIUM und SIZE_SMALL, aber es passiert einfach nichts. Der Text blieb jedes Mal gleich groß. Hast du auch diese Erfahrung gemacht?

    Lg Sascha

Wie ist DEINE Meinung zum Thema Low Level UI?

Schreib sie einfach als Kommentar:




karbacher.org © Low Level UI