Benutzeroberflächen-API

Die Benutzeroberflächen-API hilft Ihnen, Benutzeroberflächen für BlackBerry®-Bildschirme zu erstellen.

Anwendungen mit einer Benutzeroberfläche implementieren net.rim.device.api.ui.UiApplication, eine Unterklasse von net.rim.device.api.system.Application. Ein UIApplication-Objekt behält einen Stapel von Bildschirm Objekten bei. Bildschirme, die auf den Stapel geschoben werden, werden oben auf andere, bereits im Stapel befindliche, Bildschirme gezogen. Wenn die Anwendung einen Bildschirm aus dem Stapel verdrängt, werden die zugrunde liegenden Bildschirme als notwendig neu entworfen. Nur der Bildschirm oben auf dem Stapel empfängt Eingabeereignisse.

Die drei Hauptbenutzeroberflächenobjekte sind Feld, Manager und Bildschirm.

Felder

Ein Feld stellt ein rechteckiges Gebiet dar, das von einem Manager kontrolliert wird. Jede Steuerung, wie z. B. eine Schaltfläche, entspricht einer Instanz eines Felds. Sie können Felder nicht direkt instanziieren, aber Sie können vorgefertigte Felder verwenden und benutzerdefinierte Felder erstellen. Jedes Feld initiiert die Steuerung und behandelt Benutzereingaben. Im Folgenden sind einige der gebräuchlichsten vorgefertigten Felder aufgeführt:

  • ButtonField stellt eine einfache Schaltfläche bereit.
  • LabelField stellt eine Textbezeichnung bereit.
  • TextField stellt eine Textbezeichnung bereit.
  • DateField ermöglicht Ihnen, ein Datum zu speichern und es in verschiedenen Formaten in einem Feld anzuzeigen (wie z. B. 2011/11/17).
  • MapField ermöglicht Ihnen, eine Karte in einem Feld zu rendern.
  • BrowserField ermöglicht Ihnen, Webinhalt in einem Feld anzuzeigen.

Sie können benutzerdefinierte Felder durch Erweitern der Field-Klasse erstellen.

Leitende Angestellte

Ein Manager, auch als Layout-Manager bezeichnet, behandelt das Layout und das Scrollen von Feldern. Ein Manager-Objekt enthält Felder. Es gibt mehrere Manager-Unterklassen, die bestimmte Arten von Feldlayout behandeln.

Mehrere nützliche Manager sind im net.rim.device.api.ui.container-Paket definiert. Die folgenden Manager sind am gebräuchlichsten.

Sie deklarieren einen Layout-Manager auf der obersten Ebene Ihres Bildschirms und fügen ihm anschließend Felder hinzu. Weil Layout-Manager Unterklassen von Field sind, können sie in anderen Layout-Managern eingebettet werden. Sie können auch Ihren eigenen Layout-Manager definieren.

Bildschirme

Ein Bildschirm ist der Container auf der obersten Ebene für die Benutzeroberflächenelemente, die die anzuzeigenden Elemente darstellen. Bildschirme können Felder (wie z. B. Textfelder), Layout-Manager, Optionsfelder und Dropdown-Listen enthalten.

Die BENUTZEROBERFLÄCHEN-API verfügt über zwei Haupttypen von Bildschirmobjekten:

Sie können zusätzliche Informationen zu Ihrer Anwendung in einem Popupbildschirm anzeigen, ohne den Fluss der Anwendung zu unterbrechen. Daher müssen Sie den Hauptbildschirm nicht verlassen und später zu ihm zurückkehren. Außerdem können Sie Prioritäten setzen, welche PopupScreen-Objekte durch Aufrufen von pushGlobalScreen(Screen, int, int) im Anzeige-Stapel nach oben gepusht werden.

Menüs

BlackBerry-Smartphones organisieren Befehle in einem kontextabhängigen Menü, auf das durch Drücken der Menütaste zugegriffen werden kann. Menüeinträge sind Instanzen von MenuItem. Sie können das Menü anpassen, das für Ihre Anwendung geöffnet wird. Sie können sie

  • Fügen Sie Menüeinträge hinzu oder entfernen diese in Abhängigkeit des Bildschirms oder dem Anwendungszustand, wenn das Menü öffnet
  • Legen Sie die Reihenfolge von Menüeinträgen fest
  • Legen Sie die Reihenfolge der Menüeinträge und des Menüeintrags fest, die standardmäßig ausgewählt werden

Listener

Die Benutzeroberflächen-API enthält ein generisches Ereignis-Listenermodell, das Ihnen ermöglicht, Listener für viele Arten von Ereignissen zu implementieren, z. B. wenn ein Feld geändert wird oder der Benutzer eine Taste drückt, mit dem Trackpad oder Trackball klickt oder den Touchscreen berührt. Sie können einen Listener für ein Feld-Objekt durch Aufrufen von setChangeListener() der Field-Klasse festlegen.

Entwurfsmuster für Modell-Ansicht-Controller

Einige Standardkomponenten in der Benutzeroberflächen-API, einschließlich Aktivitäts- und Fortschrittsanzeigen im net.rim.device.api.ui.component.progressindicator-Paket und Listen und Tabellen im net.rim.device.api.ui.component.table-Paket, verwenden das Entwurfsmuster für den Modell-Ansicht-Controller (MVC).

Bevor Sie diese Komponenten verwenden, sollten Sie mit dem MVC-Entwurfsmuster vertraut sein. Es gibt viele gedruckte und Online-Ressourcen, mit denen Sie sich über MVC informieren können.

Modale Bildschirme

Bildschirmobjekte werden durch die pushScreen()- und pushModalScreen()-Methode der UiApplication-Klasse zum Anzeige-Stapel gepusht. Da pushModalScreen() gesperrt ist, bis der Bildschirm aus dem Anzeige-Stapel entfernt wurde (in dem pushScreen() sofort zurückgegeben wird), ist die Reihenfolge von Vorgängen entscheidend, wenn Sie modale Bildschirme verwenden. Rufen Sie pushModalScreen() nicht auf, bevor Sie den Ereignis-Dispatcher-Thread starten. Dadurch wird eine RuntimeException ausgelöst. Andere Methoden, wie z. B. Dialog.inform() und Dialog.alert(), verwenden ebenfalls pushModalScreen().

Grafik

Sie haben mehrere Möglichkeiten zum Erstellen von Grafiken auf einem BlackBerry-Smartphone:

  • Sie können vordefinierte Benutzeroberflächenkomponenten wie z. B. Text, Eingabesteuerungen und Bilder zu Screen-Objekten hinzufügen.
  • Sie können einfache, benutzerdefinierte Zeichnungen durch Überschreiben der paint()-Methode der Klasse auf einem Bildschirm erstellen, die den Bildschirm und die Verwendung die Methoden darstellt, die vom Graphics-Objekt bereitgestellt werden, das auf dem Bildschirm gezeichnet werden soll.
  • Sie können 2D-Grafiken mit den SVG-APIS zeichnen: org.w3c.dom, org.w3c.dom.events und org.w3c.dom.svg.
  • Sie können komplexere 2D-Bilder mithilfe der Grafikdienstprogramm-API erstellen: OpenGL ES-API oder OpenVG-API.
  • Sie können 3D-Bilder mithilfe der OpenGL ES-API erstellen.

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.