Programmieren für den BlackBerry - Klaus Löwenhagen - E-Book

Programmieren für den BlackBerry E-Book

Klaus Löwenhagen

0,0
24,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Der BlackBerry ist das Business-Smartphone schlechthin, allen iPhones und Android-Handys zum Trotz. Denn BlackBerry-Geräte können weit mehr als nur Mails versenden und empfangen, passende Apps erweitern den Funktionsumfang erheblich. Smartphone-Experte Klaus Löwenhagen demonstriert in diesem Buch anhand konkreter Praxisbeispiele, wie Sie Java-Applikationen für den BlackBerry programmieren, wie Sie Apps verwalten, Benutzerrichtlinien für die Anwender festlegen und vieles mehr.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhaltsübersicht

Danksagung

1  Einführung

1.1  Voraussetzungen

1.2  Die Grenzen dieses Buches

1.3  Einige Begriffe vorweg

1.4  Typografie

2  Installation und Einrichtung der Entwicklungsumgebung Eclipse

2.1  Systemanforderungen

2.2  Installationsschritte

2.3  Erstes Projekt erstellen

2.4  Einstellungen in der Entwicklungsumgebung

2.5  Checkliste zur Erzeugung eines neuen Projekts

2.6  Das erste Codebeispiel schreiben

2.7  Beschreibung des Quelltextes

2.8  Applikations-Icons

3  Den BlackBerry programmieren

3.1  Das Programm wird im Simulator gestartet

3.2  Das BlackBerry-System

3.3  Bewährte Verfahren für das Schreiben einer effizienten BlackBerry Java Application

3.4  Unterstützung mehrerer Sprachen

3.5  Multimedia-Unterstützung: Audiounterstützung

3.6  Kameraunterstützung

3.7  Benutzeroberflächen- und Navigationsdesign

3.8  Erstellen einer UI, die mit normalen Benutzeroberflächen kompatibel ist

3.9  Speicherverwaltung

3.10  Minimieren der Speicherbelegung

3.11  Schonen der Ressourcen

3.12  Garbage Collection auf einem BlackBerry-Gerät

3.13  Datenverwaltung

3.14  Dateiverbindungs-APIs

3.15  Sichern und Synchronisieren von Daten

4  Beispielcodes I

4.1  Wissenswertes über Felder

4.2  User Interface

4.3  Auswahlfelder

4.4  Checkbox

4.5  DayCalc

4.6  CustomButtons

4.7  TabControl

5  Beispielcodes II

5.1  Screen-Dekor

5.2  Nullfelder

5.3  Dialogboxen

5.4  Dateiauswahldialog

5.5  Splash-Screen

5.6  DialogClosedListener

5.7  Applikations-Switch

5.8  Applikationen durch Passwort schützen

5.9  Backdoor-Programme

5.10  Multisample

5.11  Multiplikationstabelle

5.12  Primzahlen berechnen

5.13  Mail-Management

6  Drahtloser Datentransport

6.1  Drahtlose Gateways

6.2  Alternative Optionen für den Datentransport

6.3  Integrieren von BlackBerry-Anwendungen

6.4  Listener für Reaktionen auf Anwendungsänderungen

6.5  Sicherheitsbedingungen

6.6  Authentifizierung

6.7  BlackBerry-APIs mit gesteuertem Zugriff

6.8  Unterstützung für IT-Richtlinien

6.9  Anwendungssteuerung

6.10  Dateiverschlüsselung bei MicroSD-Karten

6.11  Verwenden der MicroSD-Medienkarte auf mehreren BlackBerry-Geräten

6.12  IT-Richtlinien und die MicroSD-Medienkarte

6.13  Testvorbereitung einer BlackBerry-Applikation

6.14  Vorabprüfung einer Applikation

6.15  Testen von Anwendungen auf dem Gerät

6.16  Simulatoren

6.17  Verfügbarmachen von Anwendungen

7  UI-Guidelines

7.1  Richtlinien für Icons

7.2  Designhinweise für BlackBerry-Geräte

8  Die BlackBerry-API

8.1  Beschreibung der JDE

8.2  BlackBerry-API-Package

8.3  CLDC-APIs

8.4  MIDP-APIs

8.5  PDAP-API

8.6  Java-Code in BlackBerry-Geräten

8.7  Restriktionen

8.8  Multithreading

9  Admin-Guide für den BlackBerry Enterprise Server (BES)

9.1  Verknüpfen von Unternehmensrollen mit BlackBerry-Rollen

9.2  Verwalten von Verwaltungsrollen

9.3  Hinzufügen von Datenbankbenutzern zu Verwaltungsrollen

9.4  Festlegen der Authentifizierung des BlackBerry Managers beim Datenbankserver

9.5  Anpassen von Verwaltungsrollen

9.6  Einrichten der BlackBerry-Umgebung

10  Benutzerkonten auf dem Enterprise Server einrichten

10.1  Benutzerkonten

10.2  Anpassen der Synchronisierung von Terminplanerdaten

10.3  Steuern der BlackBerry-Umgebung

11  Zusätzliche Gerätesoftware und Anwendungen für Benutzer bereitstellen

11.1  Hinzufügen von Software zu einem Netzwerklaufwerk

11.2  Erstellen von Softwarekonfigurationen

11.3  Definieren einer Richtlinie zur Anwendungssteuerung

11.4  Senden von Anwendungen über das drahtlose Netzwerk an BlackBerry-Geräte

12  Einrichten von BlackBerry-Geräten

12.1  Laden von Benutzernachrichten auf BlackBerry-Geräte

12.2  Option 1: Geräte mit dem BlackBerry Manager einrichten

12.3  Option 2: Geräten über das drahtlose Netzwerk einrichten

12.4  Option 3: Geräte mit dem BlackBerry Desktop Manager einrichten

12.5  Schützen verloren gegangener oder gestohlener BlackBerry-Geräte

12.6  Ausgeben vorhandener BlackBerry-Geräte an neue Benutzer

12.7  Bereitstellen von BlackBerry-MDS-Studio-Anwendungen für Benutzer

13  Anpassen der BlackBerry-Nachrichtenübermittlung

13.1  Verwalten der Nachrichtenumleitung

13.2  Verwalten von Umleitungsfiltern

14  Verwalten der drahtlosen Nachrichtensynchronisierung

14.1  Deaktivieren der drahtlosen Nachrichtensynchronisierung

14.2  Synchronisieren endgültig gelöschter Nachrichten

15  Sicherer Nachrichtentransfer

15.1  Signaturen und Haftungsausschlüsse in Nachrichten verwenden

15.2  Überwachen von Nachrichten, die Benutzer von ihren BlackBerry-Geräten senden

15.3  Verwalten der Nachrichtenwarteschlange

16  Terminplanerdaten drahtlos sichern und wiederherstellen

16.1  Löschen der Terminplanerdaten eines Benutzers vom Enterprise Server

16.2  Deaktivieren der drahtlosen Sicherung

17  Adressbuchfelder synchronisieren

17.1  Feldzuordnung

17.2  Senden von Nachrichten an Benutzer

18  Instant Messaging

18.1  Konfigurieren der Verbindung zum Instant-Messaging-Server

18.2  Steuern einer Instant-Messaging-Sitzung

19  Anpassen des Supports für Nachrichtenanhänge

19.1  Konfigurieren der Verbindungsherstellung zwischen BlackBerry Enterprise Server und BlackBerry Attachment Service

19.2  Herstellen einer Verbindung zwischen Enterprise Server und Attachment Service

19.3  Herstellen einer Verbindung zwischen Attachment Service und Enterprise Server

19.4  Steuern der Konvertierung von Anlagen durch den Attachment Service

19.5  Anpassen der Konvertierung von Anlagen durch den BlackBerry Attachment Service

19.6  Konfigurieren der Unterstützung für Anlagendateiformate

19.7  Entfernen der Unterstützung für ein Anlagendateiformat

19.8  Hinzufügen von Unterstützung für zusätzliche Erweiterungen von Anlagendateiformaten

19.9  Steuern der Größe von Anlagendateien zum Minimieren der erforderlichen Konvertierungsressourcen

19.10  Festlegen der maximalen Dateigröße einer Anlage

19.11  Festlegen der Höchstmaße für Bilder

19.12  Steuern der Größe von Anlagendateien zum Minimieren der erforderlichen Übertragungsressourcen

19.13  Vermeiden, dass Anlagen geladen werden

20  Anpassen des drahtlosen Zugriffs auf Unternehmensanwendungen

20.1  Zentrale Push-Server

20.2  Festlegen des zentralen Push-Servers

20.3  Anpassen der Authentifizierung der BlackBerry-Geräte beim Webserver

20.4  Konfigurieren der Authentifizierung des MDS Connection Service bei Servern, die NTLM verwenden

20.5  Konfigurieren der Authentifizierung des MDS Connection Service bei Servern, die Kerberos verwenden

20.6  Konfigurieren der Authentifizierung des MDS Connection Service bei Servern, die LTPA verwenden

20.7  Konfigurieren der Authentifizierung des MDS Connection Service beim RSA Authentication Manager

20.8  Beschränken des Benutzerzugriffs auf Webinhalte

20.9  Zulassen vertrauenswürdiger Verbindungen zwischen Push-Anwendungen und dem MDS Connection Service

20.10  Veröffentlichen des MDS-Connection-Service-Zertifikats für vertrauenswürdige Verbindungen zwischen Push-Anwendungen und dem MDS Connection Service

20.11  Anpassen der Herstellung vertrauenswürdiger Verbindungen zu Webservern durch Anwendungen

20.12  Zulassen von Verbindungen von Endgeräten zu vertrauenswürdigen Webservern

20.13  Zulassen einer SSL-Verbindung vom MDS Connection Service zu einer Push-Anwendung

20.14  Verwalten von Push-Anwendungsanfragen

21  Verwalten von Benutzerkonten

21.1  Verwalten von Benutzergruppen

21.2  Verwalten von Benutzern

22  Verwalten von BlackBerry-Gerätesoftware und drahtlosen Anwendungen

22.1  Verwalten von Anwendungen auf BlackBerry-Geräten

22.2  Verwalten von Softwarekonfigurationen

23  Verwalten einer BlackBerry-Domain

23.1  Überwachen der BlackBerry-Dienste und -komponenten in einer Domain

23.2  Anpassen der Überwachung der Dienste durch den BlackBerry-Controller

23.3  Zugriff auf Protokolldateien für BlackBerry-Dienste

23.4  Verwalten anderer BlackBerry-Domains

23.5  Verwalten von Lizenzschlüsseln

A  Anhang A

A.1  Rollenmatrix

B  Anhang B

B.1  Drahtloses Sichern und Wiederherstellen

C  Anhang C

C.1  Persistente Datenspeicherung

D  Anhang D

D.1  Package Class

E  Anhang E

E.1  Hash-Kalkulation

F  Anhang F

F.1  BlackBerry und MAS Message Applikation Server

F.2  Glossar

Stichwortverzeichnis

Danksagung

Ich möchte mich bei den vielen Menschen bedanken, die mir, wenn auch nicht immer bewusst, Ideen für dieses Werk gegeben haben:

Bei Michaela für die endlose Geduld, die sie im Laufe dieses Projekts für mich aufgebracht hat.

Bei meinen Kindern Nele und Merle, die mich auf ihre Weise inspiriert haben.

Einen besonderen Dank möchte ich Raphael Thierjung aussprechen, der mit seinen Tricky Apps einen erheblichen Beitrag geleistet hat.

Nicht zuletzt geht ein ganz großes Dankeschön an die Firma ASPERI, die mir den Messaging Application Server (MAS) zur Verfügung gestellt hat, mit dem sich, wie ich finde, ganz tolle Dinge realisieren lassen.

Zu guter Letzt gilt mein Dank der Firma O3SIS für die unkomplizierte SyncML-Einrichtung.

1  Einführung

Wie der Titel dieses Buches ankündigt, möchte ich Ihnen eine umfassende Einführung in die Java-Programmierung für den BlackBerry geben. Umfassend heißt, ich möchte mit Ihnen in die Tiefen des BlackBerry-Systems einsteigen und Ihnen alle Elemente und Möglichkeiten der BlackBerry-API vorstellen, damit Sie eigene Programme entwickeln und dieses Buch als Nachschlagereferenz heranziehen können.

Java ist eine Sprache, die mit sehr wenigen Elementen auskommt und eine Kontextunterstützung zur Generierung der Codes mitbringt. Das soll nicht unbedingt heißen, dass die hier vorgestellten Beispiele keine hohe Komplexität besäßen und die Sprache im Handumdrehen zu erlernen wäre. Aus persönlicher Erfahrung kann ich aber sagen, dass man sich recht schnell mit der Sprache zurechtfindet und rasch zu einer ersten Applikation kommt.

Tatsächlich werden Sie aber nicht weit kommen, wenn Sie ausschließlich die einfachen Sprachelemente der API verwenden. Denn neben diesen grundlegenden Elementen gibt es noch weitere Bibliotheken, die Sie tiefer in das Gerät eintauchen lassen.

Der BlackBerry-Hersteller Research In Motion (kurz RIM) bietet die Möglichkeit, eine Entwicklerlizenz zu erwerben, die Ihnen sehr viel mehr Möglichkeiten eröffnet, als nur einfache Java-Codes zu programmieren. Diese Lizenz wird Code-Signing genannt. In den Bibliotheken befinden sich zum Beispiel Funktionen, mit denen Sie Ihr Gerät abschalten oder eine Taste belegen können, mit der das Device gesperrt und nur über einen Code wieder freigegeben werden kann. Diese Möglichkeiten sind nicht im Standard-MDS (Mobile Data System) freigegeben und können erst durch das sogenannte Code-Signing erreicht werden.

Ohne diese Entwicklerfreigabe auf die internen Core-Bibliotheken können Sie zwar einfache Programme schreiben, jedoch ist es unmöglich, mit sogenannten persistenten Objekten zu arbeiten.

Wollte ich auch diese Bibliotheken umfassend darstellen, dann würde das den Rahmen dieses Buches sprengen. Einige Tausend Seiten kämen zustande, wenn alle bis dato veröffentlichen Funktionen dokumentiert würden. Was ich Ihnen in diesem Buch zeigen möchte, ist daher nur ein Ausschnitt aus dem Bibliotheksumfang des BlackBerry.

Wie Sie auch bemerken werden, ist der Funktionsumfang, den die Standardbibliotheken abdecken, nicht gerade groß. In diesem Buch werden wir schnell an diese Grenzen stoßen. Einer dieser Fälle ist das Abschalten des Gerätes aus dem Programm heraus oder der Zugriff auf das Adressbuch.

Ebenso wird der Zugriff auf die Gerätedatenbank ohne Code-Signing nicht unterstützt, allerdings lassen sich Programme, die darauf zugreifen, im Gerätesimulator ohne Probleme aufrufen und testen.

Daher gehe ich an entsprechenden Stellen auch kurz auf diese Punkte ein, damit Sie eine Vorstellung davon erhalten, welche Möglichkeiten Ihnen die Bibliotheken bieten, die Sie im Simulator testen können – auf dem Gerät bekommen Sie bei der Ausführung dieser Programme allerdings eine Fehlermeldung mit dem Hinweis, dass die Software nicht vertrauenswürdig ist und nicht ausgeführt werden kann.

Noch ein wichtiger Hinweis zum MDS Nach Informationen von Heise Online wird RIM das MDS komplett aufgeben und in Zukunft auf zwei Entwicklungsansätze für Java- und Web-Anwendungen setzen. Die MDS-Runtime und das MDS-Studio sind seit Ende des Jahres 2009 nicht mehr verfügbar; der Support endet Mitte 2010. Um die Entwicklung von Webanwendungen zu unterstützen, bietet RIM eine aktualisierte Version 1.2 des Plugins für die Microsoft-Entwicklungsumgebung Visual Studio an. Sie benötigt die Visual Studio 2008 Professional Edition auf Windows XP oder Vista in der 32-Bit-Version. Zusätzlich veröffentlicht RIM ein neues Plugin für Eclipse 3.4, das auf den gleichen Windows-Versionen läuft. Beide Tools enthalten einen Gerätesimulator, sodass man Anwendungen direkt auf dem PC testen kann, ohne sie auf ein BlackBerry-Gerät übertragen zu müssen. Javascript lässt sich mit den neuen Plugins sowohl debuggen als auch profilieren. Darüber hinaus zeigen die Tools den Inhalt von XMLHttpRequest-Übertragungen an.

1.1  Voraussetzungen

Ohne Programmierkenntnisse kommen Sie mit diesem Buch nicht weit. Daher erklärt sich auch der Anspruch des Buches, das sich vom Entwickler an den Entwickler richtet.

Sie sollten sich schon einmal mit der freien Entwicklungsumgebung Eclipse oder Microsofts Visual Studio befasst haben. Mein Augenmerk richtet sich auf die freie Entwicklungsumgebung Eclipse. Anhand detaillierter Schritt-für-Schritt-Anleitungen lernen Sie, wie Sie die Eclipse-Umgebung einrichten und erste Projekte verwirklichen.

Sie sollten auch in der Lage sein, kleine Batch-Programme zu schreiben, denn diese werden wir im Laufe des Buches öfter einsetzen, um die Programme in den Speicher des BlackBerry zu flashen.

Sie sollten also wissen, wie Sie in einer grafischen Oberfläche (GUI) wie Windows oder der Linux-Variante Ubuntu ein Terminalfenster öffnen (bei Windows lautet der Fachausdruck dafür Eingabeaufforderung) und damit umgehen. Dass wir ab und zu auf der Kommandozeile arbeiten werden, mag Sie etwas irritieren, da der gewöhnliche Anwender damit in der Regel nicht mehr vertraut ist und sich auch manche Entwickler an grafische Entwicklungsumgebungen gewöhnt haben.

Dennoch werden Sie nicht auf die Kommandozeile verzichten können, wenn Sie effektiv programmieren und anschließend Ihren Code auf das Gerät übertragen wollen.

Einer der Hauptgründe, warum Sie auf der Kommandozeile arbeiten müssen, ist der, dass bestimmte Loader-Programme eine Vielzahl von Parametern benötigen, um einen Job auszuführen. Für diese Programme gibt es schlichtweg keine grafische Oberfläche.

Sie sollten sich unbedingt angewöhnen, gut dokumentierten Code zu schreiben, diesen im Simulator ausgiebig zu testen, ihn dann mit dem Batch-Programm auf das Gerät zu bringen und den Code dort erneut zu testen.

Und zu guter Letzt möchte ich Ihnen raten, regelmäßig Sicherungen von Ihrem Gerät sowie der Software anzufertigen. Ein sogenanntes Versionsverwaltungssystem ist hier als Mindestvoraussetzung für sicheres Programmieren von mobilen Geräten zu sehen.

Wie ein Versionsverwaltungssystem arbeitet, möchte ich Ihnen kurz erklären. Sie haben zum Beispiel den Quellcode im Repository des Versionsverwaltungssystems »eingecheckt«. Das bedeutet, dieser Code ist fehlerfrei und wurde zuvor getestet. Nun besteht Bedarf an einer Änderung oder Erweiterung.

Jetzt wird der Code aus dem System »ausgecheckt«, und Sie haben eine sogenannte Arbeitsversion auf Ihrem Entwicklungsrechner. Nachdem Sie den Code angepasst und getestet haben, wird die COD-Datei kompiliert.

Diese Datei ist dazu bestimmt mittels einer Batchdatei, auf das mobile Gerät transportiert zu werden. Um den Quellcode wieder sicher aufzubewahren, wird er erneut in das Repository »eingecheckt«. Gleichzeitig erhöht sich der Versionszähler, und Sie haben eine getestete und kompilierte Datei mit einer bestimmten Versionsnummer erzeugt.

Dieser Vorgang kann auch rückgängig gemacht werden, wenn Sie doch lieber die letzte Version oder das letzte Release verwenden wollen. All das erledigen Sie beispielsweise mit der freien Software SubVersion (http://subversion.tigris.org/). Eine komplette Beschreibung, wie Versionsverwaltungssysteme funktionieren und wie sie zum Beispiel mit einem Defect Tracking-System zur Fehlerverfolgung gekoppelt werden, würde allerdings einen eigenen Band füllen.

Das ist aber nicht das Ziel dieses Buches. Ich möchte Ihnen hier lediglich einen Denkanstoß für Ihre Arbeit geben.

1.2  Die Grenzen dieses Buches

Was Sie in diesem Buch nicht finden werden, ist die Beschreibung, wie eine komplette Java-Applikation mit Datenbankzugriff entwickelt wird, oder wie Sie komplexe Mail- und Bluetooth-Anwendungen programmieren, wie sie im kommerziellen Bereich angeboten werden. Wir werden uns in diesem Buch um Programme kümmern, die im Gerätesimulator laufen und sich gegebenenfalls auch ohne die Anschaffung einer Entwicklerlizenz kompilieren lassen.

Für alle, die jetzt enttäuscht das Buch beiseite legen wollen: Urteilen Sie nicht zu früh! Es gibt in diesem Werk sehr viele Anregungen und Ideen, auf die Entwickler aufbauen können, um ihre Applikationen aufzuwerten.

Das wichtigste Kriterium ist: Sie sollen die Programmierbeispiele als Anregungen für Ihre eigenen Projekte sehen und dieses Buch als Nachschlagewerk betrachten[1]. Ich gehe davon aus, dass Sie professionell programmieren und alle Möglichkeiten einer Programmiersprache (in diesem Fall Java) kennen. Ohne dieses Grundwissen werden Sie schnell an Ihre Grenzen geraten.

1.3  Einige Begriffe vorweg

Entwicklungsumgebung

Die in diesem Buch beschriebene Entwicklungsumgebung ist Eclipse.

Eclipse ist ein quelloffenes[2] Programmierwerkzeug. Ursprünglich wurde Eclipse als integrierte Entwicklungsumgebung (englisch: Integrated Development Environment, IDE) für die Programmiersprache Java genutzt, aufgrund seiner Erweiterbarkeit wird es aber mittlerweile auch für viele andere Entwicklungsaufgaben eingesetzt.

Für Eclipse gibt es eine Vielzahl von Erweiterungen – sowohl quelloffene als auch von kommerziellen Anbietern entwickelte.

Eclipse selbst basiert auf Java-Technologie, seit der Version 3.0 dient ein sogenanntens OSGI[3]-Framework namens Equinox als Grundlage.

Exkurs Softwaretest

Unit-Tests /Whitebox-Tests

Unit-Tests oder Modultests[4] werden vom Entwickler durchgeführt. Sie sind ein wesentlicher Teil einer Software-Teststrategie. Diese Tests dienen zur Verifikation von Modulen einer Software, zum Beispiel von Klassen. Modultests sollen möglichst nicht die Interna einer Methode testen, sondern nur ihre externen Auswirkungen (Rückgabewerte, Ausgaben, Änderungen an Dateien, Datenbanken oder Backend-Systemen).

Werden auch interne Details der Methode geprüft (dies wird als Whitebox-Testing bezeichnet), droht der Test fragil zu werden. Das bedeutet, dass er auch fehlschlagen könnte, obwohl sich die externen Auswirkungen nicht geändert haben. Gute Unit-Tests sind zum Beispiel Tests einer Methode, in denen Schleifen und Bedingungen jeweils einmal durchlaufen werden.

Für die Tests auf der Ebene der Endanwender sei das sogenannte Blackbox-Testing empfohlen, bei dem man sich auf das Prüfen der externen Auswirkungen beschränkt.

1.4  Typografie

In diesem Buch werden verschiedene Schrift- und Gestaltungsarten verwendet, um Kontexte, Textteile und Bedeutungen darzustellen:

Quelltext wird in nichtproportionaler Schrift dargestellt und ist grau unterlegt:

Quelltext 1:

import net.rim.device.api.system.Application;

Die folgenden Zeilen enthalten einen etwas längeren Quelltextabschnitt. Die Zeichenfolgen »/*« und »*/« markieren Zeilen, die anschließend ausführlicher erklärt werden. Es sind Kommentare, auf die ich im Einzelnen weiter eingehe. Kurzkommentare werden mit einem Doppel-Slash (//) eingeleitet.

Quelltext 2:

Werden innerhalb des laufenden Textes Quelltextelemente dargestellt, so werden auch diese in nichtproportionaler Schrift dargestellt, allerdings ohne diese Textpassagen grau zu unterlegen.

Ebenfalls in Schreibmaschinenschrift, aber ohne graue Hervorhebung, wird der Inhalt des Konsolenfensters dargestellt. Dabei kann es sich um Benutzereingaben, um Programmausgaben oder um beides handeln:

C:\>install.bat

Wenn Betriebssystembefehle oder sonstige Ein- oder Ausgaben der Konsole im Fließtext dargestellt werden, werden sie, genau wie Quelltextauszüge, in nichtproportionaler Schrift dargestellt.

Wichtige Anmerkungen, Hinweise oder Tipps sehen folgendermaßen aus:

Dieses ist ein sehr wichtiger Text. Beziehe ich mich auf Menüpunkte oder Beschriftungen von Dialogelementen, werden diese kursiv gesetzt – wie etwa die Schalter OK und Abbrechen. Bei einer Hierarchie werden die einzelnen Ebenen durch Schrägstriche getrennt, so etwa bei »Datei/Speichern unter...«. Tasten, die Sie auf der Tastatur drücken sollen, werden in eckigen Klammern angegeben. So wird die Taste »A« als [A] dargestellt oder die Taste »Strg« als [Strg]. Wenn der numerische Tastenblock gemeint ist, beginnt die Tastenbezeichnung mit einem »N« – die Taste »5« wird auf dem Ziffernblock als [N5] dargestellt und das Pluszeichen als [N+]. Wenn etwas im Fließtext besonders betont werden soll, dann wird es ebenfalls kursiv geschrieben. Datei- und Verzeichnisnamen werden, sofern sie allgemeingültig sind, im Unix-Stil dargestellt, das heißt, dass vorwärtsgerichtete Schrägstriche für die Trennung von Verzeichnisebenen verwendet werden. Bezieht sich eine Verzeichnisangabe nur auf ein bestimmtes System, erfolgt diese Angabe in einer Darstellung, die dem jeweiligen System entspricht. Unabhängig davon werden aber alle Datei- und Verzeichnisnamen in Anführungszeichen gesetzt: »/home/klaus/MyProjects« oder die im Workspace definierten Ablageorte »C:\Dokumente und Einstellungen\klaus\workspace«.

Zitate werden in Anführungszeichen gesetzt, ebenso Texte, die als Querverweise verwendet werden, da diese im Grunde auch Zitate sind. Anführungszeichen werden an einigen Stellen auch nur verwendet, um den Text übersichtlicher zu gestalten – in ähnlicher Weise wie runde Klammern einen Kontext zusammenfassen oder vom restlichen Text abtrennen.

Ich gestatte, alle im Buch abgedruckten Quelltexte zu verändern oder auch unverändert zu verwenden. Sie dürfen auch verändert oder unverändert zur Erstellung kommerzieller Software eingesetzt werden. Ich gestatte nicht, dass die Quelltexte veräußert werden, weder unter meinem noch unter einem anderen Namen.

Die in diesem Buch benutzte Entwicklungsumgebung ist die zur Zeit der Drucklegung aktuelle von RIM freigegebene Eclipse-Version Ganymede Version 3.4.1, Build-ID M20080911-1700. Weiter werden verwendet das RIM MDS Studio in der Version 2.0.0.75, Build Date: 200810091236, sowie das BlackBerry JDE Plugin for Eclipse in der Version 1.0.0.67.

Im Anhang finden Sie eine Linksammlung mit URL-Angaben für den Download sowie weitere wertvolle Hinweise.

[1]

Dass Sie in einer freien Entwicklungsumgebung ohne RIM-Entwicklerlizenz gewissen Beschränkungen unterliegen, hat unter anderem mit dem Sicherheitskonzept der Mobilgeräte von RIM zu tun. Denjenigen, die tiefer einsteigen wollen, empfehle ich eine Codelizenz von RIM, mit der sie Signed-Coding realisieren können.

[2]

Die freie Entwicklungsumgebung Eclipse wird im Wikipedia-Eintrag http://de.wikipedia.org/wiki/Eclipse_(IDE) genauer beschrieben. Die bei Drucklegung aktuelle Version 3.4 (Projektname Eclipse Ganymede) ist hier in diesem Buch verwendet.

[3]

Das Kürzel OSGI leitet sich von der »Open Services Gateway Initiative« ab. Ziel dieser herstellerübergreifenden Industrieallianz war eine servicebasierte Systemplattform. Heute ist nur noch das Kürzel OSGI in Gebrauch, die Langfassung gilt als obsolet.

[4]

Unit-Tests werden auch als Komponententests bezeichnet. Quelle: http://de.wikipedia.org/wiki/Modultest

2  Installation und Einrichtung der Entwicklungsumgebung Eclipse

In diesem Kapitel werden wir uns mit der Einrichtung der Entwicklungsumgebung Eclipse befassen. Anhand von Screenshots werden Sie an das erste Programm herangeführt – natürlich das bekannte und allseits beliebte »Hello World«.

2.1  Systemanforderungen

RIM hat eine Java-Umgebung mit einem Eclipse-Plugin zusammengestellt, die eine komplette Entwicklungsumgebung inklusive Gerätesimulator für die geschriebene Software enthält.

Zunächst laden wir uns die Umgebung von der offiziellen Webseite von RIM herunter, die unter folgendem Link erreichbar ist:

http://na.blackberry.com/eng/developers/javaappdev/javadevenv.jsp

Da sich dieses Buch vorrangig mit dem Java Development Evironment (IDE) für Eclipse beschäftigt, gehe ich im folgenden Abschnitt auf die Systemvoraussetzungen ein, die die Entwicklungsumgebung an Ihr System stellt.

Systemanforderungen unter Windows:

Windows 2000, Windows XP oder Windows Vista

Prozessor: Pentium-4-Prozessor (Minimum 3 GHz)

1 GB RAM Minimum

Java Development Kit (JDK) Version Java SE 6.0 oder höher

Eclipse-Version 3.4 oder höher

2.2  Installationsschritte

Nach dem Download startet man den Installer. Wenn sich Eclipse zuvor noch nicht auf dem Rechner befunden hat, fragt der Installer nach Verzeichnisnamen und schlägt ein Installationsverzeichnis vor. Der Installer richtet alle nötigen Umgebungen für Eclipse ein, ebenso das IDE-Plugin. Einige Screenshots zeigen den Installationsverlauf:

Installation von Eclipse und dem Plugin nach

c:\blackberry\ide\eclipse

Bild 2.1  Installation von Eclipse und Plugin

Installation fertigstellen:

Bild 2.2  Eclipse-Installation fertigstellen

Eclipse ist nun startbereit, und die Installation wird abgeschlossen:

Bild 2.3  Abschluss der Installation

2.3  Erstes Projekt erstellen

Nachdem wir Eclipse auf unserem Rechner installiert haben, können wir ein neues Projekt beginnen. Ich zeigen Ihnen in einem Screenshot, wie Eclipse nach dem Doppelklick auf das Startsymbol aussieht. Zunächst benötigt Eclipse für die Entwicklungsarbeit einen sogenannten Workspace.

Dieser Workspace ist im Grunde die Verzeichnisstruktur, in der die Projekte unter Eclipse verwaltet werden. Es ist denkbar und praktikabel, sich für ein anderes Projekt einen anderen Workspace einzurichten. Eclipse fragt bei jedem Start den Workspace an. Mit dem Listenfeld können vorherige Workspaces angezeigt werden, und mit der Option »Browse« kann nach einem Workspace gesucht werden.

Bild 2.4  Ein neuer Workspace wird erzeugt

2.4  Einstellungen in der Entwicklungsumgebung

Nachdem wir nun die Entwicklungsumgebung erfolgreich auf unserem Rechner installiert haben, müssen wir einige Anpassungen vornehmen. Was wir anpassen müssen, sind folgende Inhalte:

Auswahl der Option

Configure BlackBerry Workspace

in dem Reiter

Preferences

der Entwicklungsumgebung.

Bild 2.5  Einstellungen zum BlackBerry-Workspace

Zu erreichen ist das Menü unter File/New/Project. Dann sollten Sie die Option »Blackberry Project« auswählen. Es erscheint der BlackBerry-Projektwizard:

Bild 2.6  Projektwizard

Projektnamen vergeben. Unser Projekt bekommt nun einen Namen.

Bild 2.7  Projektnamen vergeben

Jetzt haben wir es fast geschafft, müssen aber für unserer Projekt zusätzlich noch eine Klasse definieren. Wir erreichen diesen Dialog unter

File/New/Class.

Bild 2.8  Dialog New Class

Es öffnet sich der folgende Dialog:

Bild 2.9  Neue Java Class benennen

Wir benennen unsere erste Java-Klasse zum Beispiel mit dem Namen MyClass. Der Name ist wichtig, da Eclipse daraus einen Konstruktor baut, in den wir alle BlackBerry-Bibliotheken einladen und mit denen wir arbeiten können. Nun sind alle Einstellungen gemacht, und wir können mit dem ersten Code beginnen. Es bietet sich an, hier in einer Checkliste zusammenzufassen, was nötig ist, um ein neues Projekt zu erzeugen.

2.5  Checkliste zur Erzeugung eines neuen Projekts

Einen Workspace für das Projekt festlegen

Configure BlackBerry Workspace

aufrufen

File/New/Project

– ein BlackBerry-Projekt auswählen

Der Workspace-Name und der Projektname sind nicht gleich. Zum besseren Verständnis kann man sich einfach vorstellen, dass der Workspace den Mandantenbaum darstellt und das BlackBerry-Projekt innerhalb dieses Mandantenbaums aufgebaut wird.

Einen Projektnamen vergeben. Der Name hat, wie gesagt, nichts mit dem Workspace zu tun. Der Workspace liefert die Dokumentenstruktur für das Projekt.

Eine neue Java-Klasse erzeugen über

File/New/Class

.

Bereit zum Coding.

Nach dem Schreiben des Codesegments sollten noch vor dem Kompilieren die

Project-Properties

gesetzt werden.

2.6  Das erste Codebeispiel schreiben

Quelltext 1: Hello World

2.7  Beschreibung des Quelltextes

Die ersten Zeilen sind Kommentare. Diese dienen der besseren Lesbarkeit und Verständlichkeit des Codes.

Quelltext 2: Kommentarzeilen

/** * HelloWorld.java */

Denn die Kommentare beinhalten in der Regel die Informationen, was dieses Programm macht, wer es geschrieben hat, wann es geschrieben wurde, vielleicht auch noch eine Versionsnummer.

Wenn Sie später diesen Code ändern oder Code von einem Kollegen übernehmen, sind Kommentare hilfreich wie ein Leitfaden, an dem Sie sich orientieren können. Diese programminternen Kommentare werden von den bereits angesprochenen Project-Properties ergänzt. Project-Properties beziehen sich auf die kompilierte Datei und ihre Dateieigenschaften. Auch hier werden Titel, Version, Autor, Vendor, Description und Ähnliches eingetragen.

Bild 2.10  Project-Properties setzen

Ich habe die Project-Properties wie folgt ausgefüllt, um Ihnen eine Anregung zu geben:

Bild 2.11  Ausgefüllte Project-Property-Karte

Da unsere erste Applikation noch kein Icon besitzt, wollen wir das hiermit nachholen. Ein Bild sagt mehr als tausend Worte. Somit sind Icons auch für den BlackBerry durchaus sinnvoll. Jedoch gibt es bei den Icons einiges zu beachten, was die Abmessungen und Formate betrifft.

2.8  Applikations-Icons

Wechseln Sie bitte zu dem Reiter Resources. Die Maske sollte wie folgt aufgebaut sein:

Bild 2.12  Angabe der Icondatei

Unter Icon Files können Sie das Icon angeben, welches Ihrer Applikation zugeteilt werden soll. Eine ausführliche englische Dokumentation von RIM findet man unter den Smartphones-UI-Guidelines[1].

[1]

http://docs.blackberry.com/en/developers/deliverables/6625/Dimensions_for_screens_images_and_icons_476251_11.jsp

3  Den BlackBerry programmieren

In diesem Kapitel stelle ich Ihnen das BlackBerry-System vor. Zunächst möchte ich mich aber noch einem wertvollen Tool zuwenden, dem Gerätesimulator. Der Smartphone-Simulator ist eine Anwendung, die Sie auf Ihrem Computer installieren und die eine Abbildung des BlackBerry-Gerätemodells Ihrer Wahl anzeigt.

3.1  Das Programm wird im Simulator gestartet

Nun ist das in Kapitel 2 erstellte Programm startbereit und wird mit Run/Run und der Auswahl des BlackBerry-Simulators nach der Bestätigung mit OK gestartet. Nach kurzer Ladezeit öffnet sich der Device-Simulator. Der Simulator muss nicht so aussehen wie das aktuelle Modell (etwa die Baureihe Storm 9500), aber im Kern sprechen wir die API der anfangs genannten Modellreihen an. Weitere von RIM freigegebene Device-Simulationsmodelle finden Sie im Anhang F.2 »Links«. Um nun zu der »Hello World«-Applikation zu gelangen, navigiert man durch den virtuellen BlackBerry unter der BB-Taste, Applications.

Bild 3.1  BlackBerry Device Simulator

Die Navigation erfolgt wie im echten Gerät – das heißt, Sie klicken über den Trackball, die BB-Taste steht für Escape und so weiter. Wenn Sie mit dem echten BlackBerry vertraut sind, dürfte es kein Problem für Sie sein, die Anwendung auch im Simulator zu bedienen.

Bild 3.2  Device-Simulator mit BlackBerry Bold

3.2  Das BlackBerry-System

BlackBerry-Geräte enthalten eine Java-ME-Ablaufumgebung (ME steht für »Micro Edition«, wird manchmal auch als »Mobile Edition« übersetzt), die Client-Server-Anwendungen unterstützt.

Anwendungen, die für BlackBerry-Geräte entworfen werden, sollen ein ausgewogenes Verhältnis zwischen dem bestmöglichen Funktionsumfang für die Benutzer und einer langen Akkunutzungsdauer bieten. Beim Entwickeln Ihrer Anwendung sollten Sie stets die Unterschiede zwischen mobilen Geräten und PCs beachten (zu Letzteren zählen auch Macs).

Mobile Geräte

haben eine kleinere Bildschirmgröße, auf der nur eine begrenzte Anzahl von Zeichen dargestellt werden kann,

haben in der Regel langsamere Prozessoren,

nutzen drahtlose Netzwerke mit einer längeren Latenzzeit als normale LANs,

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!