24,99 €
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:
Veröffentlichungsjahr: 2012
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:
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.
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
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].
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!