1
Spektakuläre Android-Apps entwickeln
In diesem Kapitel
Gründe für die Entwicklung von Android-Apps erkennen
Erste Schritte in der Android-Programmierung unternehmen
Mit der Hardware arbeiten
Sich mit der Software vertraut machen
Google ist Spitze! Google übernahm 2005 die Android-Plattform (siehe Kasten »Die Wurzeln von Android« weiter hinten in diesem Kapitel), um ein Betriebssystem für Mobilgeräte zu entwickeln und es als offene Plattform zur Verfügung zu stellen. Google investiert weiterhin Zeit und Ressourcen in das Android-Projekt. Obwohl es die Geräte erst seit Oktober 2008 gibt, wurden mittlerweile über eine Milliarde Android-Geräte aktiviert, und täglich kommen mehr als eine Million hinzu. Innerhalb weniger Jahre konnte Android riesigen Einfluss gewinnen!
Nie war es für Android-Entwickler einfacher, Geld mit der App-Entwicklung zu verdienen. Android-Anwender vertrauen Google. Und da Ihre App im Google Play Store angeboten wird, sind auch viele Anwender bereit, Ihrer App zu vertrauen.
Die Wurzeln von Android
Es ist nur wenig bekannt, dass Google das Android-Projekt nicht ins Leben gerufen hat. Anfangs wurde das Betriebssystem Android von einem kleinen Start-up-Unternehmen in Silicon Valley namens Android, Inc. entwickelt, das dann im August 2005 von Google übernommen wurde. Die Unternehmensgründer kamen aus verschiedenen Technologieunternehmen des Internet-Bereichs, wie zum Beispiel Danger, Wildfire Communications, T-Mobile und WebTV. Google übernahm sie mit in das Google-Team, um dort das heute umfassende Android-Betriebssystem für Mobilgeräte zu entwickeln.
Warum für Android entwickeln?
Die Frage sollte eigentlich »Warum nicht für Android entwickeln?« lauten. Wollen Sie, dass Ihre App weltweit für Millionen Anwender verfügbar ist? Wollen Sie Apps sofort nach Abschluss der Entwicklung und Tests veröffentlichen? Gefällt es Ihnen, für offene Plattformen zu entwickeln? Wenn Sie eine dieser Fragen bejaht haben, dürften Sie die Antwort kennen. Sollten Sie aber noch unentschlossen sein, lesen Sie einfach weiter.
Marktanteil
Als Entwickler können Sie Apps für einen boomenden Markt entwickeln. Die Anzahl der genutzten Android-Geräte ist größer als die Anzahl aller Geräte unter anderen Betriebssystemen für Mobilgeräte zusammen. Über den Google Play Store gelangt Ihre App direkt und einfach zum Anwender. Die Anwender müssen nicht das Internet nach zu installierenden Apps durchsuchen. Sie müssen nur den auf ihren Geräten vorinstallierten Google Play Store nutzen, um an alle Ihre Apps zu kommen. Da der Google Play Store auf den meisten Android-Geräten vorinstalliert ist (ein paar Ausnahmen sind in Kapitel 19 aufgelistet), suchen Anwender üblicherweise erst einmal im Google Play Store nach von ihnen benötigten Apps. Es ist daher gar nicht so ungewöhnlich, wenn die Anzahl der Downloads einer App binnen weniger Tage förmlich explodiert.
Zeit für die Vermarktung
Angesichts all der APIs (Anwendungsprogrammierschnittstellen – Application Programming Interfaces), die sich mit im Lieferumfang von Android befinden, lassen sich innerhalb relativ kurzer Zeit umfassende Anwendungen entwickeln. Nach der Registrierung beim Google Play Store müssen Sie Ihre Apps nur noch hochladen und veröffentlichen. Im Unterschied zu den Marktplätzen anderer Mobilgeräte gibt es beim Google Play Store keine Genehmigungsverfahren für Apps. Sie müssen Ihre Apps nur entwickeln und veröffentlichen.
Grundsätzlich kann jeder Apps veröffentlichen, es dürfte aber besser sein, wenn Sie sich an die Google-Bedingungen halten und Ihre Apps familienfreundlich gestalten. Vergessen Sie nicht, dass Android-Anwender aus den verschiedensten Regionen der Welt und allen Alterskategorien kommen.
Offene Plattform
Das Android-Betriebssystem ist eine offene Plattform und damit an keinen Hardwarehersteller und/oder Anbieter gebunden. Wie man sich leicht vorstellen kann, konnte Android durch seine freie Verfügbarkeit schnell Marktanteile gewinnen. Nichts hält Sie davon ab, sich den Android-Quellcode anzusehen. Sie können ihn über https://source.android.com herunterladen. Durch den quelloffenen Code können Hersteller eigens angepasste Benutzeroberflächen oder auch Bedienoberflächen (UI – User Interface) erstellen und sogar neue Funktionen für bestimmte Geräte hinzufügen.
Gerätekompatibilität
Android läuft auf vielen Geräten mit unterschiedlichen Bildschirmabmessungen und Auflösungen, wie beispielsweise Uhren, Handys, Tablets, Fernsehgeräten und anderen. Zudem enthält es die Werkzeuge zur Entwicklung von Apps, die verschiedene Gerätetypen unterstützen. Wenn Ihre App beispielsweise nur mit einer Kamera an der Vorderseite des Geräts funktioniert, wird sie im Google Play Store nur bei Benutzung entsprechend ausgestatteter Geräte angezeigt. Diese Art der Hardwareerkennung wird bei Android Feature Detection genannt. (Mehr zur Veröffentlichung Ihrer Apps im Google Play Store erfahren Sie in Kapitel 8.)
Kombinierbarkeit (Mashups)
Wenn Sie zwei oder mehr Dienste kombinieren, um eine App zu erstellen, wird dies Mashup genannt. Sie können beispielsweise ein Mashup erstellen, wenn Sie die Kamera und die Ortungsdienste von Android nutzen, um ein Foto aufzunehmen, in dem die genaue Positionsangabe angezeigt wird. Oder Sie können die Map-API mit der Kontaktliste kombinieren, um all Ihre Kontakte in einer Landkarte anzeigen zu lassen. Die folgenden Mashup-Beispiele sollen Ihre Fantasie noch ein wenig stärker anregen:
Geolokation und soziale Netze: Nehmen wir an, Sie wollen eine App schreiben, die Ihren aktuellen Standort mittels geologischer Ortsbestimmung (Geolokation) über den gesamten Tag hinweg alle zehn Minuten auf Twitter meldet. Kein Problem. Dazu müssen Sie nur die Lokalisierungsdienste von Android und die Twitter-API eines Drittanbieters (zum Beispiel iTwitter) miteinander kombinieren.
Geolokation und Spiele: Ortsabhängige Spiele werden immer beliebter und bieten tolle Möglichkeiten, Anwender in Spiele einzubinden. Ein Spiel könnte als Hintergrunddienst laufen, den aktuellen Standort eines Spielers feststellen und diesen dann mit den Standorten anderer Anwender in derselben Gegend vergleichen. Befindet sich dann beispielsweise ein anderer Anwender in weniger als einem Kilometer Entfernung, könnte der erste Spieler benachrichtigt werden und ihn zum (Spiele-)Kampf herausfordern. Ermöglicht wird dies durch die leistungsfähigen Technologien von GPS und Android. Falls Sie daran interessiert sind, Spiele für Android zu entwickeln, lesen Sie unter https://developers.google.com/games/services/ nach. Dort finden Sie weitere Informationen über die Google-Play-Games-Services.
Kontakte und Internet: Angesichts der Vielzahl der verfügbaren nützlichen APIs lassen sich über die Kombination von Funktionen mehrerer APIs leicht umfassende Apps erstellen. Sie können beispielsweise die Namen aus Kontaktlisten und das Internet gemeinsam dazu benutzen, um Grußkarten-Apps zu erstellen. Sie könnten den Anwendern über Ihre App auch die Kontaktaufnahme mit sich erleichtern oder ihnen die Weiterleitung der App an Freunde ermöglichen. All dies ist mit den integrierten APIs machbar. (Mehr über APIs erfahren Sie im Abschnitt »Google-APIs« weiter hinten in diesem Kapitel.)
Entwicklern bietet Android nahezu grenzenlose Möglichkeiten, mit denen Sie jedoch vorsichtig umgehen sollten. Bilden Sie sich selbst ein möglichst objektives Urteil, bevor Sie Ihre Apps veröffentlichen und der Masse zugänglich machen. Dass Ihnen als Hintergrundmotiv dieses Filmchen gefällt, in dem Sie auf Ihrer Geburtstagsparty den Hula tanzen, bedeutet nicht zwangsläufig, dass andere das auch sehen wollen oder sehen sollten.
Grundlagen der Android-Programmierung
Sie müssen glücklicherweise nicht Mitglied des Mensa-Clubs sein, um Android-Apps programmieren zu können. Dass Java als Standardsprache dient, erleichtert die Android-Programmierung. Aber auch wenn sich Android-Programme relativ leicht schreiben lassen, ist der Programmcode im Allgemeinen nicht unbedingt ein Kinderspiel.
Wenn Sie bisher noch nie Apps entwickelt haben, bildet dieses Buch vielleicht nicht den optimalen Einstieg. Zum Erlernen der Grundlagen empfehle ich Ihnen das Buch Java für Dummies (Wiley-VCH). Wenn Sie erst einmal die Java-Grundlagen beherrschen, sollten Sie auf das vorliegende Buch besser vorbereitet sein.
Auch wenn das Betriebssystem Android hauptsächlich aus Java-Code besteht, gibt es einige kleinere Teile des Frameworks, die nicht in Java geschrieben sind. Android-Apps...