Android-Programmierung: Anleitung zum Entwickeln einer eigenen Smartphone-App

Inhaltsverzeichnis Android-Programmierung: Anleitung zum Entwickeln einer eigenen Smartphone-App Android Studio installieren und einrichten Ein Projekt anlegen Android Studio kennenlernen Die Template-App verstehen Die Hello-World-App ausführen Ihre erste App: Die Bedienoberfläche Ihre erste App: Die Funktionalität Der letzte Schritt: APK bauen und App aufs Handy Fazit

Das Angebot im Google-Play-Store umfasst um die 3 Millionen Apps – die mal mehr oder weniger nützlich, mal gut oder weniger gut programmiert sind. Vielleicht findet sich in dieser riesigen Menge trotzdem nicht genau die App, die Sie gerne hätten? Oder Ihnen fehlt nichts, aber Sie haben Lust, praktisch zu sehen, wie eine Android-App auf die Welt kommt? So oder so – wir zeigen, wie Sie den Aufbruch in die Welt der Android-Programmierung schaffen.

Die fertigen Apps im Playstore sehen oft nicht kompliziert aus – das darf aber nicht darüber hinwegtäuschen, dass viel Arbeit in deren Entwicklung fließt. Um eine App zu entwickeln, brauchen Sie eine Entwicklungsumgebung – ein Programm mit lauter Werkzeugen, die beim Programmieren helfen. In diesem Artikel zeigen wir, wie Sie eine App mit Android Studio entwickeln – das ist Googles offizielle, speziell für diesen Zweck entwickelte Entwicklungsumgebung.

Mit unserer Anleitung installieren Sie Android-Studio und richten das Programm ein. Sie probieren aus, wie Sie eine App direkt auf ihrem Rechner oder per USB-Kabel auf Ihrem eigenen Android-Smartphone ausführen. Die Bedienoberfläche der App gestalten Sie dann ganz ohne eine Zeile Code: das Platzieren und Gestalten von Text-Eingabefeld, Button und einer Text-Anzeige gelingt per Drag-and-drop und ein paar Klicks. Um diese Elemente mit Funktionalität auszustatten, lernen Sie, wie der Code aufgebaut ist, was Variablen, Datentypen und Listener sind und wie man im Code auf Elemente der Bedienoberfläche zugreift. Am Ende steht eine erste kleine App, in der ein Benutzer etwas in ein Text-Feld eingibt, was nach einem Button-Klick in einer Text-Anzeige erscheint.

Android Apps Programmierung – Mit dem Android Studio

Wie aufmerksame Leser meines Blogs bereits erkannt haben, programmiere ich in meiner Freizeit hin und wieder einmal eine Android-App mit dem Android Studio.

Im Beitrag Trabant 601 Mixer – Android App stellte ich im Übrigen meine erste veröffentlichte Android App vor.

In diesem Beitrag fragte mich Dirk, wie und womit ich die App erstellt habe und wie man diese dann über den Google Play Store veröffentlicht.

Ich möchte mit diesem Beitrag kurz meine Tools vorstellen und zeigen, wie Ihr Eure eigenen Android-Anwendungen veröffentlichen könnt.

Aller Anfang ist schwer.

Als Fachinformatiker in der Systemadministration kommt man hin und wieder mit der ein oder anderen Programmiersprache in Berührung.

Ich persönlich hatte schon einige Jahre vor meiner Ausbildung die ein oder andere Programmiersprache ausprobiert.

Angefangen hat alles unter MS-DOS mit der Sprache Q-Basic. Hier probierte ich mich an einfachen Textadventes. Das war alles noch zu Zeiten ohne Internet.

Nachdem nun die Internet-Ära begonnen hatte und jeder einen AOL Zugang sein Eigen genannt hatte, schaute ich einst, welche Programmiersprache am häufigsten verwendet wurde.

Wie es der Zufall so wollte, landete ich bei C++.

Ich kaufte mir ein Buch inkl. Borland C++ Builder Umgebung und machte meine erste Windows-Anwendung.

Nach und nach kam etwas Erfahrung dazu, wobei ich gestehen muss, dass ich bei komplexen Themen wie Pointer usw. nicht wirklich weiter gemacht habe.

Auch die OpenGL und DirectX Programmierung habe ich nur ein wenig ausprobiert, das Thema war mir damals als Hobby-Programmierer zu komplex.

Nach einiger Zeit Pause hatte es mich dann doch wieder gepackt. Zu Zeiten in denen einige Programme inzwischen öffentlich mit Quellcode verfügbar waren und C# veröffentlicht wurde, modifizierte ich das ein oder andere P2P Programm.

Dabei blieb es allerdings auch.

Dennoch hat mir diese Erfahrung im Bereich der C++ Programmierung den Einstieg zu Java erleichtert.

Java?? Wir wollen doch Android!

Ja, Android Programme werden mit Java programmiert.

Die Java Entwicklung hat mich nach C++ schon immer gereizt.

Wer möchte nicht eine Anwendung entwickeln, die auf so gut wie jedem Betriebssystem läuft, ohne größere Änderungen am Code machen zu müssen.

Genau damit wirbt Java seit Jahren, dass es auf den unterschiedlichsten Betriebssystemen lauffähig ist.

Meine Anfänge machte ich mit Tutorials aus dem Netz und einer sehr trägen Eclipse Umgebung.

Genau diese Eclipse Umgebung war der große Stein, der bei mir den Spaßfaktor an der Java Programmierung auf einen Nullpunkt setze. Das Tool war langsam, komplex und für Laien unübersichtlich.

Neben Java lassen sich Android Apps auch mit der neuen Programmiersprache Kotlin schreiben.

Heute läuft alles besser – mit dem Android Studio!

Kommen wir zurück zum Thema, der Android Programmierung. Wer hier heute einsteigen möchte, hat viele Möglichkeiten.

Es gibt kostenlose E-Books vom Rheinwerk Verlag (früher Galileo Verlag), YouTube Tutorials, Video2Brain Kurse und und und.

Die Masse an Lernmaterial ist riesig.

Am Ende des Beitrages findet Ihr eine kleine Zusammenstellung unterschiedlicher Einstiegsmöglichkeiten in die Android-Programmierung.

An den Entwicklungsumgebungen hat sich natürlich auch einiges getan.

Es gibt ein spezielles, kostenfreies Tool für die Android-Programmierung. Das Android Studio.

Ich nutze das Android Studio selbst für die Entwicklung. Das Tool ist komplett kostenfrei.

Es ist für Anfänger wesentlich einfacher in der Einrichtung als Eclipse & Co.

Zudem bringt es alles mit, was man für die Android-Entwicklung benötigt. Vom Emulator bis zur SDK library.

Ich programmiere teils auf meinem AMD PC und teils auf meinem MacBook Pro mit Intel CPU, wobei ich zum Thema Android Emulator noch etwas sagen muss.

Der native Android Emulator, welcher beim Android Studio dabei ist, läuft nicht auf jedem Computer sehr performant. Vor allem beim Booten des Emulators vergehen teilweise schon mal 10 Minuten.

Sollte es also bei Euch Probleme geben, probiert doch mal die alternativen Emulatoren wie Genymotion oder Nox aus.

Am besten und schnellsten entwickelt es sich jedoch direkt auf einem Android-Gerät.

Meine App Entwicklung

Die Trabant 601 Mixer App, habe ich in 2 Sprachen entwickelt, Deutsch und Englisch.

Das ist bei Android recht mühelos möglich und erweitert natürlich die Reichweite einer App.

Der Aufwand bei der Trabi App war recht gering. Es ist eine einfache Kalkulation, die mit einem Eingabefeld und einem Button verknüpft ist. Nichts Großes.

Zusätzlich wurden noch Werbebanner via Google AdMob eingebunden. Dies ist auch recht simple.

Ihr benötigt einen AdMob Account. Generiert Euch dort einen Banner-Code und fügt diesen mittels Google Anleitung in Eurer App ein.

Für Anfänger empfehle ich, am Anfang eher mit einem kleinen Projekt zu starten, um sich an die IDE als auch die Programmiersprache zu gewöhnen.

Ich kann verstehen, dass viele am liebsten gleich ein vollwertiges Spiel oder eine große Anwendung programmieren möchte.

Aber verabschiedet Euch von diesem Traum. Das dauert seine Zeit und die meisten Apps wurden mit einem großen Team auf längere Dauer entwickelt.

Spiele lassen sich mit dem Android Studio auch programmieren. Aktuell arbeite ich an einem kleinen Projekt.

Empfehlen kann ich hierzu die LibGDX Library.

App programmiert – und nun?

Hat man seine erste Android-App programmiert und auf dem ein oder anderen Gerät getestet, möchte man diese jetzt auch der Öffentlichkeit anbieten.

Dies geht am besten über den Google Play Store.

Im Google Play Store kann sich jeder als Developer registrieren und hat somit die Möglichkeit, seine eigenen Apps zum Download im Play Store anzubieten.

Die Registrierung im Play Store kostet einmalig 25 US $. Danach könnt Ihr aber so viele Apps, wie Ihr möchtet veröffentlichen. Hierbei bitte aber die Google Richtlinien beachten.

Ich habe aktuell nur 2 Apps veröffentlicht. Der Download-Zahlen halten sich in Grenzen.

Wichtig ist bei der Veröffentlichung einer mehrsprachigen App, dass Ihr auch Eure Beschreibung in 2 oder mehr Sprachen im Playstore hinterlegt.

Nachdem Ihr alle Daten beim Playstore hinterlegt habt und Eure signierte APK Datei hochgeladen habt, dauert es eine Weile bis die App geprüft wurde und im Play Store zur Verfügung steht.

Bei meiner ersten App dauerte dies ca. 24 Stunden.

In der Google Play Developer Console habt Ihr auch täglich eine Übersicht, über alle aktive Installationen Eurer App inkl. Übersichtskarte, in welchen Ländern die App am häufigsten heruntergeladen wurde.

Zusammenfassung

Anbei noch einmal eine kurze Zusammenfassung, welche Tools Ihr für die Entwicklung einer Android-App benötigt und wo es Anleitungen und Hilfen zur Programmierung gibt.

Tools:

Android Studio – Entwicklungsumgebung

Genymotion – Android Emulator

NOX – Android Emulator

Tutorials und Lernhilfen

Sehr gut sind auch die Lernvideos von Video2Brain, diese sind allerdings kostenpflichtig.

Der PacktPub Verlag hat ebenso eine Seite mit wechselnden kostenlosen ebooks und Kursen.

Diese sind alle in englischer Sprache.

Sehr empfehlenswert für Anfänger und leicht fortgeschrittene ist auch das Video Tutorial vom Rheinwerk Verlag.

Dies geht explizit auf die Android-Entwicklung mit dem Android Studio ein.

Für fortgeschrittene Entwickler, die sich auf das neue Android 7 Version spezialisieren möchten, gibt es natürlich auch ein neues Buch.

Ich hoffe, ich konnte Euch hiermit einen kleinen Einblick in die Android-Programmierung geben.

Probiert es einfach mal aus und bleibt am Ball. Setzt Euch kleine Ziele.

Wie immer freue ich mich über Eure Kommentare zu diesem Beitrag.

Unity App programmieren

Wer sich mit Gaming Apps auskennt, für den ist auch der Name „Unity“ nichts Neues mehr. Das amerikanische Softwareunternehmen mit Sitz in San Francisco ist eines der beliebtesten Tools, um Spiele und Apps zu entwickeln.

Die Laufzeit- und Entwicklungsumgebung von Unity bzw. Unity 3D ermöglicht es, Spiele für verschiedene Plattformen wie Konsolen, Computer oder mobile Geräte zu erstellen. Unity Apps für Smartphones können für Geräte mit den Betriebssystemen iOS, Android, Blackberry und Windows Phone erstellt werden.

Unity/ Unity 3D

Bevor es an das Programmieren Deiner App geht, solltest Du Dir zunächst einen Überblick über die Entwicklungsumgebung verschaffen. Die Unity Oberfläche ist in insgesamt 6 Abschnitte aufgeteilt:

Browser: Hier werden im Webdesign alle Elemente Deines Spiels angezeigt. Im Browser kannst Du Deine Anwendungen einfach nach Bildern, Audios, Szenen, Skripten usw. sortieren. Auch tolle Features wie Fertighäuser, Atlanten und Texturen kannst Du in Deiner Applikation verwenden.

Inspektor: Dieser Abschnitt zeigt dir die verschiedenen Beziehungen zwischen den Elementen Deines Projektes an. Hier legst Du die Elementeigenschaften Deiner Anwendung fest. So kannst Du zum Beispiel die unterschiedlichen Texturen per Drag and Drop anpassen.

Hierarchie: In der Hierarchie findest Du eine Auflistung aller Elemente aus einer Szene.

Szene: Dies ist der wichtigste Bereich in der Entwicklungsumgebung. Hier geht es an die Entwicklung und Gestaltung Deiner App. In diesem Abschnitt erstellst Du die gesamte Oberfläche bzw. einzelne Ausschnitt des Spiels. Alle Szenen stellen dabei jeweils einen anderen Abschnitt oder eine Ebene dar. Auch hier kannst du einfach mit Drag and Drop arbeiten.

Spiel: In diesem letzten Abschnitt kannst Du schließlich dein Spiel testen. So kannst Du Dir die App zum Beispiel mit unterschiedlichen Auflösungen anzeigen lassen.

Die Umgebung von Unity ist einem 3D-Animationsprogramm nachempfunden. So kann man durch ein Menü zum Beispiel die Einstellung von Kamera und Szene ändern. Der erste Abschnitt „Szene“ ist aus Game Objekten organisiert. Diese Game Objekte können weiteren Komponenten zugeordnet werden. Dabei wird zwischen einfachen- und komplexen Komponenten (Assets) unterschieden. Als Entwickler kannst Du einfache Komponenten direkt im Editor ändern. Eine komplexe Komponente (Asset) kann per Drag and Drop eingefügt werden.

Objekte des Spiels können über vorgefertigte Pfade, Scripte oder physikalische Kräfte bewegt werden. Charakter Entwicklung ist über die Skin-and-Bones Technologie möglich. Über die Informationen aus der internen Programmbibliothek kannst Du außerdem FMOD Musik abspielen und aus vielen Optionen die passenden Klänge und Geräusche auswählen.

Unity bietet grafische Darstellung gemäß dem neuesten Stand der Technologie. Die Grafik Engine verwendet ein sogenanntes „Deferred-Shading Verfahren“. So können geometrisch komplexe 3D-Szenen mit verschiedene Beleuchtungsmodellen erstellt werden. Durch selbst erstellte Shader (Hardware- bzw. Software Module) ist es möglich, die richtige Menge an Licht, Dunkelheit und Farbe der Szene zu bestimmen. So kannst Du mit der Virtual Reality Entwicklung fantastische Welten zum Leben erwecken.

Unity Apps programmieren

Unity ist für Entwickler als kostenpflichtige Version in den Kategorien „Plus“, „Pro“ und „Enterprise“ verfügbar. Zudem gibt es ein zusätzliches Angebot für Studierende. Wer sich noch nicht mit der Programmierung in Unity auskennt findet auf der Website unterschiedliche Lernpfade, die den Einstieg in die Entwicklung umfassend erklären. Programmiert wird in den Sprachen Unityscript, C# und Boo.

Als Entwickler kannst Du die vorhandenen Mechanismen der Entwicklungsumgebung mit eigenen Programmen und Informationen ergänzen. Dies ist notwendig, um den Spielablauf der Gaming App mit Logik zu unterstützen. Das Erstellen von Skripten basiert auf Mono. Skripte und Assets werden in Prefabs zusammengefügt. Das ermöglicht es Dir, eigene Bausteine und Komponenten zu erstellen und zu verwenden.

Mit Unity kannst Du als Entwickler Apps für die Betriebssysteme iOS, Android, Windows Phone und Blackberry programmieren. Sowohl für Windows Phone als auch Blackberry sind bereits alle Lizenzen vorhanden, die Du benötigst. Für Android und iOS ist die Umsetzung etwas komplizierter.

Um Apps mit Unity für Android zu entwickeln, benötigst Du neben der aktuellen Version von Unity zusätzlich noch einen Android Emulator oder ein Programm, auf dem Du Deine App testen kannst. Des Weiteren erfordert die Entwicklung für Android auch noch eine Google Android APK. Die Installations-Datei kannst Du einfach online herunterladen und integrieren.

Für eine iOS App benötigst Du zusätzlich noch eine kostenpflichtige Apple Entwickler Lizenz. Die Entwicklung für den Apple App Store ist zudem nur über ein Apple internes Gerät möglich. Ein Mac mit den entsprechenden Tools, ist somit Voraussetzung. Hast Du Diese Bedingungen erfüllt, steht der Veröffentlichung Deiner eigenen App im Apple App Store oder Google Play Store nichts mehr im Weg.

Virtual Reality Unity Apps

Das spannende an der App Entwicklung mit Unity ist, dass Du neben Apps in 2D und 3D auch Virtual Reality Apps erstellen kannst. Seit 2014 ist es möglich mit Unity das Oculus Developement Kit auch kostenlos zu nutzen. Somit ist es nicht mehr zwangsweise nötig sich für die Entwicklung von VR-Apps einen Pro Account anzulegen. Wenn Du dich als Einsteiger erst an die Entwicklung herantasten möchtest, reicht die kostenlose Variante vollkommen aus. Eine Pro Lizenz ist für den Anfang nicht nötig.

Um Virtual Reality Apps mit Unity zu programmieren, brauchst Du eine Oculus Rift– oder VR Gear, die mit dem Samsung Phone kompatibel ist sowie einen PC auf dem Windows 7, 8 oder 10 läuft. Falls Du zum Entwickeln eine Apple Rechner verwendest, benötigst Du einen Mac, der mit dem Betriebssystem OS X 10 läuft.

Zunächst musst Du die Oculus PC-SDK und die Unity Integration aus den Oculus PC-SDK Downloads herunterladen und installieren. Es ist jedoch auch möglich VR Apps ohne Oculus zu programmieren. Dazu musst Du Dir lediglich das Cardboard Unity SDK herunterladen. Danach kannst Du Dir einfach eine Umgebung aus den Assets aussuchen und mit dem Erstellen und Ausprobieren beginnen.

In Deinem angelegten Projekt kannst Du jetzt mit der Maus (Remote) die Kamera- und Perspektiven-Eistellungen verändern. So kannst Du Dir Dein Projekt auch aus anderen Blickwinkeln (Views) ansehen. Zusätzlich kannst Du mit der Render Rate in den Einstellungen bestimmen, wie scharf die einnzelnen Objekte genau eingestellt werden sollen. Stellst du Die Render Rate beispielsweise niedriger ein, so sehen die Objekte weniger scharf aus. Dies sorgt dafür, dass der Ablauf Deines Spiels flüssiger gestaltet wird.

Bei einer hohen Render Rate hingegen, sieht das Objekt schärfer aus. Dies hat den Vorteil, dass die Gestaltung Deines Spiels besser zum Ausdruck kommt. Elemente sind besser zu erkennen und insgesamt wird die Optik schöner hervorgehoben.

Ein Punkt, auf den Du noch besonders achten solltest, ist die „Motion Sickness“ die bei VR-Spielen auftreten kann. Hierbei ist es wichtig darauf zu achten, dass Dein Spiel so gestaltet ist, dass es nicht zu einer Art „Seekrankheit“ beim User kommt. Teste Dein Spiel deshalb vorher ausführlich, bevor Du es veröffentlichst. Sonst verwandelt sich Dein Gaming Erlebnis für Deine User zum Gaming Albtraum.

Fazit

Egal ob als Einsteiger oder als Profi, Unity bietet für jedes Entwicklungslevel passende Optionen. Die Möglichkeiten des Tools sind besonders für Umsetzung von durchdachten Spiele Apps interessant. Neben der Programmierung in 2D und 3D ermöglicht Unity auch die Entwicklung von Virtual Reality Games. Damit sind Deinen kreativen Ideen kaum noch Grenzen gesetzt.

Ob es sich bei Deinem Projekt um ein umfangreiches Abenteuer-Game, ein spannendes Strategiespiel oder ein lustiges Unterhaltungsspiel handelt, Unity ermöglicht es dir, Deine Vorstellung real werden zu lassen. Auch als Einsteiger solltest Du nicht vor der Komplexität der Entwicklungsumgebung zurückschrecken. Mit hilfreichen Lernpfade oder Tutorials hast auch Du bald den Durchblick.

Werde kreativ und hab Spaß am Ausprobieren! Teste Deine Ideen und zeigen anderen, was in Dir steckt. So wirst Du mit Deiner App bald die User in den App Stores begeistern.

Jarosław Kułak
Jarosław Kułak

Leave a Comment