Android Apps programmieren - Einführung und erste Schritte zur App-Entwicklung

Android Apps programmieren und eine coole Idee für Smartphone oder Tablet umsetzen? Heute ist das kein großes Problem mehr, dafür gibt es verschiedene Wege und Entwickler-Tools.

Android Apps programmieren - Allgemeines

Apps ist die Abkürzung für Applikationen. Gemeint sind hier Softwareprogramme für mobile Endgeräte wie Smartphone, Smartwatch oder Tablet. Android-Apps nutzen dabei das mobile Betriebssystem Android von Google.

Android Apps programmieren ist heute kein großes Problem mehr. Viele Tools helfen dabei, die Idee umzusetzen. Welche am besten geeignet sind, entscheidet die Anwendung. Auch Google bietet hierzu eine Entwicklungsumgebung an.

Grundkenntnisse in der Programmierung mit der Programmiersprache Java und/oder C++ sollte man allerdings mitbringen oder sich aneignen, denn sie sind bei der App-Entwicklung durchaus hilfreich.

Am Anfang steht die Idee, die mit einer App ein bestimmtes Problem in der Realität lösen soll. Dabei spielt natürlich zuerst die Festlegung der Zielgruppe eine wichtige Rolle.

An wen richtet sich die App - Endverbraucher (B2C) oder Unternehmen (B2B)? Sind es deutschsprachige Nutzer oder zielt die App auf den internationalen Markt mit verschiedenen Sprachen etc.?

Diese Idee sollte man möglichst detailliert skizzieren. Dabei geht es um Funktionen der App und deren Verknüpfung untereinander sowie um das Rechtemanagement und den Schutz der Nutzerdaten.

Dann müssen die Berechtigungen geklärt werden, also die Frage, auf welche Benutzer-Daten oder auf welche Sensoren oder andere Komponenten des Smartphone oder Android-Tablets Ihre App zugreifen soll.

Darüber hinaus ist auch das Design der App festzulegen, also wie sollen die Oberfläche und die Untermenüs gestaltet sein. Unter Umständen macht die Beauftragung eines Designers Sinn, wenn man es selber mit der Grafikbearbeitung nicht lösen kann.

Android Apps programmieren - Tools

Steht das Konzept, kann entsprechende Entwickler-Software heruntergeladen und auf dem persönlichen Computer installiert werden. Zunächst sollte die Java-Software von Oracle geladen werden.

Freie Programmierer können dann schon loslegen. Anwender ohne Kenntnisse müssen sich für einen passenden App-Baukasten, zum Beispiel AppYourself, entscheiden, die bereits fertige Module und Elemente beinhalten.

So kann man zwischen verschiedenen Funktionen und Design-Vorlagen auswählen, das Codieren entfällt. Dabei handelt es sich um grafische Benutzeroberflächen, die selbstständig den Code schreiben, wenn man Optionen im Baukasten auswählt.

Es handelt sich um sogenannte "WYSIWYG-Editoren" ("What you see is what you get"). Das Problem bei Baukästen ist, dass der Entwickler nicht die vollen Rechte an der App besitzt. Hinzukommen können zudem noch Kosten für Hosting und Downloads etc. kommen.

Android Apps programmieren - App Inventor

Der "MIT App Inventor", ehemals von Google, ist ebenfalls ein "WYSIWYG-Editor". Mit Hilfe des Tools lassen sich mit grafischen Bausteinen einfache Android-Apps programmieren und zusammenstellen.

Für die Verwendung der Software muss man zuvor Java herunterladen und installieren. Der App Inventor ist Cloud-basiert und läuft direkt im Browser. Mit Hilfe von Templates (Bausteine und Design-Vorlagen) kann man sich dann ein App zusammenstellen.

Mit dem MIT App-Companion können Sie zudem später die eigene App testen. Sie sollte daher für das Android Smartphone ebenfalls heruntergeladen und installiert werden.

Entwicklung von Android-Apps mit Android Studio.

Wir entwickeln Android-Anwendungen nach Kundenspezifikationen ausschließlich für alle von aitronic vertriebenen Android-Geräte.

Die Programmierung erfolgt betriebssystemunabhängig. Als besonders nützlich hat sich für die Android-Programmierung die Entwicklungsumgebung „Android Studio“ erwiesen. Dieses Tool stellt u.a. folgende Funktionalität zur Verfügung:

Ein- und Ausblenden von Codeblöcken,

farbliche Hervorhebung von Schlüsselwörtern,

automatische Syntaxprüfung,

automatische Methoden- und Funktionsergänzung während der Quelltext-Eingabe (IntelliSense),

integrierter Debugger.

Die verwendete Programmiersprache Java bietet folgende Vorteile:

Objektorientiert,

Robustheit und Sicherheit, auf Grund der starken Typisierung, Ausnahmebehandlung und dem Verzicht auf Zeigerarithmetik,

Architekturneutralität und Portabilität, gleichzeitig aber überaus leistungsfähig,

Plattformunabhängigkeit: Applikationen lassen sich durch einige wenige Anpassungen (z.B. Bedieneroberfläche wegen anderem Screen-Format) auf andere Geräte portieren,

Einfachheit: Im Vergleich zu Sprachen wie C++ oder C# ist Java einfach, da es auf einem reduzierten Sprachumfang aufbaut und beispielsweise Operatorenüberladung und Mehrfachvererbung nicht unterstützt.

Anhand von Kundenspezifikationen erstellen wir ein Pflichtenheft im Stil einer Bedienungsanleitung. Erst nach Freigabe des Pflichtenheftes durch den Kunden bestimmen wir den Aufwand und stellen ein verbindliches Angebot für die Programmierung.

Für die Erstellung einfacher Datenerfassungs-Applikationen, wie sie z.B. für Inventuren zum Einsatz kommen, greifen wir auf unsere Standard-Applikation als Ausgangsbasis zurück, um auf diese Weise mit relativ wenig Aufwand schnell zu dem gewünschten Ergebnis zu kommen. Nebenstehend sehen Sie als Beispiel einige Screens der Standard-Applikation für unser LogiScan-1500.

Die Standard-Applikation stellt folgende Funktionalität zur Verfügung:

Erfassung von Artikelnummer (per Barcode oder manuell) und/oderTransponder-Id. und optionaler Menge. Das Mengenfeld ist mit 1 vorbelegt, so dass manuelle Eingaben nur für Mengen größer 1 notwendig sind.

Editierung der erfassten Daten ist möglich,

optionale Übertragung eines Zeitstempels,

Übertragung der erfassten Daten im CSV-Format mit MTWin-5,

passwordgeschützte Einstellungen,

Zugriff auf Android-Systemebene nur über die Maske „Einstellungen“ nach Eingabe des Passwords möglich.

Die Datenerfassung mit mobilen Computern sollte den gewohnten Arbeitsablauf so wenig wie möglich stören und den Bediener bei seiner Arbeit unterstützen, da nur so eine hohe Akzeptanz der Geräte durch den Bediener erreicht wird. Daher widmen wir bei der Gestaltung von Bedieneroberflächen von Applikationen für mobile Computer folgenden Aspekten besondere Aufmerksamkeit:

Manuelle Eingaben über den Touch-Screen sollten so wenig wie möglich erforderlich sein.

Enthält eine Eingabemaske mehrere Felder für Barcode-Eingaben , sollten die verschiedenen Barcodes von der Applikation identifiziert und dem entsprechenden Feld zugeordnet werden. So wird vermieden, dass der Bediener vor dem Scannen des betreffenden Barcodes das entsprechende Feld manuell fokussieren muss.

Nach Fertigstellung der Applikation erstellen wir aus dem Pflichtenheft die Bedienungsanleitung. Diese enthält nicht nur die Beschreibung der Bedieneroberfläche sondern u.a. auch die Dokumentation von Schnittstellen und Datenformaten.

Welches Programm ist am besten für Android Apps Programmieren? (Linux ubuntu)

Bei manchen Antworten stellt man sich wirklich die Frage, ob man in Zukunft noch auf Fragen stellen möchte oder sollte. >_>

Ich habe mir hier nur einzelne Kommentare und auch Antworten von dir angesehen, sowie nur kurz die letzten Fragen von dir überflogen.

Mir scheint, dass du zwar viel willst aber noch sehr wenig bis gar nichts kannst.

Natürlich möchte man möglichst schnell ein Ergebnis haben und stellt dabei an sich wie auch andere gewisse Ansprüche.

In einer ich glaube zukünftigen Frage antwortest du damit, dass du einen "Ego-Shooter" programmieren willst.

Aber fangen wir doch einfach mal klein an?

Ob du Apps auf einem Linux oder Windows-Rechner entwickelst ist dir überlassen. Wichtig ist es die für dich passende Entwicklungsumgebung zu schaffen. Welche IDE du dafür verwendest ist im Grunde egal und es gibt so viele wie Sand am Meer.

Bekannt sind Android Studio und Eclipse mit Android SDK, ich glaube selbst NetBeans würde es mit entsprechenden Plugins ermöglichen.

Die gewünschte IDE ist installiert und der Spaß kann beginnen.

Nun ja zumindest wohl der Gedanke der an erster Stelle kommt. Leider ist dem nicht ganz so. ^^ Bevor du mit dem Programmieren beginnst solltest du wissen in welcher Programmiersprache du es überhaupt tust.

Andorid basiert auf Java, heißt hierfür solltest du dich in Java einlesen bzw. auskennen. Bestenfalls auch gleich die API davon irgendwo in deine Favoriten einspeichern, du wirst sie gebrauchen.

Solltest du die Programmiersprache "Java" nicht kennen, wäre dir zu empfehlen erst diese zu beherrschen und danach auf die Android Programmierung zu gehen. Es basiert zwar alles auf einem System. Aber von Java auf Android gibt es noch einmal ein paar Unterschiede. Je nachdem fällt es dem einen Leichter oder dem anderen Schwerer.

Besonders wichtig ist es aber bestimmte Programmier-Richtlinen zu erlernen bzw. zu kennen. Stichwort objektorientierte Programmierung dürfte da als erstes kommen.

Manche schwören zum Nachschlagen auf das Buch: Java ist auch eine Insel von Galileo Press Verlag. Ich persönlich bin davon kein Fan. Es eignet sich zwar zum Nachschlagen für bestimmte Dinge, richtet sich aber mehr an diejenigen welche zuvor bereits mit C und C++ Erfahrungen haben, da es die Programmiersprachen etwas vergleicht.

Besser finde ich hier die Bücher, welche den puren Anfänger in der Entwicklung ansprechen.

Grundkurs: Programmieren in Java von Dietmar Ratz, fand ich bereits in den Ausgaben gut als ich begonnen habe. Die aktuelle Version ist sogar schon für die neuste Ausgabe von Java.

Java als erste Programmiersprache von *Cornelia Heinisch, finde ich ebenfalls sehr gut für Anfänger geeignet. Beide Bücher richten sich an Anfänger in der Programmiersprache und setzen kein Vorwissen voraus. Dazu gibt es viele Übungen die einem helfen den Spaß beim Lernen nicht zu verlieren und auch gleich zeigen "hey ich lerne was und kann auch was."

Natürlich kann man die Bücher auch zum Nachschlagen nutzen. Die Sprache finde ich ebenfalls sehr locker gewählt und für eigentlich jeden verständlich.

Sowie du bereits etwas Erfahrung hast könntest du dann nach Büchern über Android Entwicklung gucken oder halt das weite Internet nutzen.

Auch unter Galileo Press finden sich einige Bücher die nicht ganz verkehrt sind. Mir fällt da besonders ein das Buch "Android-Apps entwickeln" und aus dem Person Verlag "Jetzt lerne ich Android Programmierung". In wie weit dir die Bücher helfen liegt natürlich allein bei dir.

Wo ich es vorziehe eher locker geschriebene Fachbücher zu lesen, gibt es wieder andere denen das Thema nicht trocken genug erklärt werden kann. Wobei ... zu locker darf es auch nicht sein, den in diese Kategorie fällt die Buchreihe "Von Kopf bis Fuß", wo es sicherlich auch entsprechende Themen gibt. Aber auch aus unterschiedlichen Bereichen.

Du musst bei solchen Büchern immer testen, was dir mehr zusagt beim lernen.

Zurück zum Ego-Shooter ... wenn ich davon ausgehe was für mich ein Ego-Shooter ist dürfte es sogar ein Android Buch geben das dich ein solches Spiel programmieren leert als Beispiel. Genannt "Mückenfang" in der es darum geht auf dem Smartphone / Tablet die Mücken zu treffen. XD

Wobei ich natürlich davon ausgehe, dass du unter Ego-Shooter etwas anderes verstehst möglichst mit entsprechender Grafik und allen drum und dran. Den Wunsch darfst du im Gedanken behalten. Bis du aber soweit bist, solltest du dich stärker mit der Programmiersprache deiner Wahl befassen.

Einzig was positiv ist. Wenn du eine Programmiersprache wirklich beherrschst fällt es dir in der Regel leichter eine weitere zu lernen. Du musst dann oft nur die Unterschiede kennen und natürlich wissen, wo du gucken musst, wenn du bestimmte Aktionen vorhast. ^^

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

Leave a Comment