6

Programmiersprache und Bibliotheken

Hier möchte ich dir das Beispiel zeigen wie du Apps programmieren kannst.

Wenn du erstmal die Grundlagen der Programmieren verstehst, ist es das Einfachste überhaupt!

Wie ich dir bereits erklärt habe, ist es egal in welcher Sprache du die Grundelemente erlernt hast.

Wichtig ist, dass du nun auf die Programmiersprache umschwenkst, mit der du deine erste App programmieren willst.

Du sollst hier die Schritte lernen die nötig sind um deine App zu programmieren.

Wichtig: Erst die Grundlagen lernen. Danach erst hier weitermachen.

Die Programmiersprache und das Betriebssystem

Wenn du eine App erstellen willst, musst du dich für eine Programmiersprache entscheiden und die Grundelemente erstmal in dieser Sprache erlernen.

Wenn du für Android entwickeln willst, ist deine nächste Sprache Java. Was Android ist?

Android ist Google's Betriebssystem für mobile Computer.

Quasi das Windows für dein Smartphone. Genauso, wie man für Windows Anwendungen programmieren kann, kann man für Android Apps programmieren. Java ist die Sprache für Android.

Möchtest du lieber für das iPhone Apps erstellen, ist das Betriebssystem iOS und die Sprache die du lernen musst ist Swift bzw. Objective-C.

Ich werde im folgenden nur auf die Android-Plattform eingehen. Möchtest du eher generelle Informationen für den Anfang schaust du mal in unseren Ratgeber zum App programmieren.

Klassen und Objekte

Was du bis jetzt noch nicht gelernt hast, sind Klassen und Objekte.

Alle modernen Programmiersprachen nutzen heutzutage die Objektorientierte Programmierung. Ein Bestandteil der objektorientierten Programmierung sind Klassen und Objekte.

Ich erkläre dir einmal das Objekt:

Ein Objekt ist die Abbildung der realen Welt in deinem Programm. Es ist Anfangs etwas knifflig zu verstehen, aber mit der Zeit kommt die nötige Übung.

Ich nenne dir ein Beispiel für ein Objekt. Ein Auto ist zum Beispiel ein Objekt.

Ein Auto hat 4 Räder, je nach Modell hat es 3-5 Türen. Es kann fahren und lenken. Außerdem hat es eine Lackierung in einer bestimmten Farbe.

Wenn du das Auto in deinem Programm benutzen willst, musst du  ein Objekt erstellen.

Ok, und was ist die Klasse?

Damit du dein Auto-Objekt herstellen kannst brauchst du einen Bau- bzw. Konstruktionsplan. Oder einfach eine Anleitung wie das Auto zusammengeschraubt wird. Diese Anleitung nennt sich Klasse. Also um ein Objekt zu erstellen benötigst du eine Klasse.

Bibliothek

Du kannst das Rad nicht neu erfinden. Manche probieren es, aber meist kommt dabei nur ein eckiges Rad bei raus.

Worauf ich hinaus will: Du musst nicht alles was du programmieren musst, selbst und neu schreiben. Viele der Dinge die du benötigst, liegen bereits vorgefertigt in Bibliotheken.

Das heißt du musst lediglich wissen, wo die passenden Features bereits liegen und wie man diese verwenden kann. Dafür musst du die Inhalte der Bibliothek lernen oder immer in der Dokumentation suchen.

Die Bibliothek für Android Apps enthält zum Beispiel folgende Funktionsbereiche:

App Components:

Alle grundlegenden Funktionen für eine App auf einem Mobilgerät, diese brauchst du um überhaupt eine App auf deinem Smartphone zu starten

App Resources:

Resources sind alle Daten die deine App schicker machen. Mit diesen Funktionen lädst du Bilder, externe Daten usw.

User Interface:

Alle Steuerelemente die im Basis Android System vorhanden sind, kannst du in diesem Bereich nutzen.

Animation und Graphics:

Egal ob du Spiele oder einfach nur eine schöne App programmieren willst, hiermit kannst du Animationen und Grafiken auf den Bildschirm zaubern

Computation:

Für Berechnungen die über die normale Rechenleistung hinaus gehen

Media und Kamera:

Hiermit kannst du Medien wie Fotos, Video und Audio zu deiner App hinzufügen.

Location und Sensor:

Du möchtest GPS in deiner App benutzen? Oder die App abhängig von der Temperatur steuern? Hiermmit hast du Zugriff auf alle Sensoren deines mobilen Gerätes

Connectivity:

Mit anderen Geräten kannst du hierüber eine Verbindung aufbauen. Ob per Bluetooth, NFC oder einfach nur Wi-Fi.

Text und Input:

Deine App muss auch Tastatureingaben abkönnen. Hier kann du auch Spracheingaben oder andere ähnliche Funktionen benutzen.

Data Storage:

Ob als Datei oder irgendwie in die Cloud. Manche Daten müssen dauerhaft gespeichert werden, hier findest du die passende Funktionalität.

Web Apps:

Es gibt Fälle in denen es sinnvoll ist eine App als Webapp zu erstellen, da man hier mehr plattformunabhängigkeit hat.

Weitere Bibliotheken:

Dazu kommen noch weitere Bibliotheken, wenn du mehr Funktionalität brauchst als dir das Android SDK bietet.

Wenn du mit Java arbeitest kommen als Grundlage das Java SE (Java Platform, Standard Edition) dazu. Diese bietet Standardfunktionen an.

Bei Java nennen diese Bereiche sich Packages (Pakete).

  • Standard Funktionen
    • java.lang: Alle Sprachbestandteile von Java
    • java.io: Funktionen für Eingabe und Ausgabe
    • java.nio: Neue Funktionen für Eingabe und Ausgabe
    • java.math: Mathematische Funktionen wie Rundung
    • java.net: Netzwerkfunktionen
    • java.text: Funktionen für den Umgang mit Text, also Strings
    • java.util: Datenstrukturen wie Container
  • Spezialfunktionen
    • java.applet
    • java.beans
    • java.awt
    • java.rmi
    • java.security
    • java.sql
    • javax.swing
    • javax.xml

Das ist schon eine Menge Zeug, aber lass dich davon nicht abschrecken.

Das ganze sieht auf den ersten Blick kompliziert aus, allerdings wirst du Anfangs nicht alle Funktionsbereiche benötigen.

Ich selbst nutze bis heute vielleicht 20% der ganzen Bibliothek.

Wichtig ist, dass man weiß wie man in der Bibliothek suchen kann. Denn nur so kannst du herausfinden ob eine bestimmte Funktionalität bereits vorhanden ist.

Aber das ist noch nicht alles! Nur die Sprache und die Bibliothek alleine helfen dir nicht.

Entwicklungsumgebung und "Hello World"

Damit du überhaupt loslegen kannst, solltest du deinen Code auch irgendwo eingeben können, richtig?

Also brauchst du eine Umgebung in der du deine App entwickeln kannst. Diese nennt sich Entwicklungsumgebung.

Diese Umgebung hilft dir, deinen Quelltext in die passende Maschinensprache umzuwandeln und dann auch auszuführen.

Für die Entwicklung von Android Apps gibt es verschiedene Entwicklungsumgebungen (Abgekürzt IDE).

  • Eclipse mit ADT Plugin
  • Android Studio

Der Vorteil ist, dass beide IDEs kostenlos erhältlich sind. Außerdem kannst Du deine Apps direkt auf das eigene Smartphone übertragen. Somit kannst Du die eigene App gleich ausprobieren.

Der letzte Schritt, der dir jetzt noch fehlt ist der Test ob das ganze Ding auch wirklich funktioniert. Bestimmt hast du es in irgendeinem Tutorial bereits gesehen, die obligatorische "Hallo Welt!"-Anwendung.

Diese Anwendung ist dein Beweis, dass die Entwicklungsumgebung korrekt funktioniert und du deine App ausführen kannst. Ab der Stelle lassen dich dann viele Tutorials im Stich, denn danach musst du selbst wissen was du tust.

Aus diesem Grund ist es auch hier wieder ungemein wichtig, dass du die Grundelemente bereits erlernt hast. So gibt es auch für Android ein Tutorial, wie man die IDE einrichtet und die erste Hello World-App startet.

Fazit

Hast du diese weiteren Schritte durchgeführt, bist du bereits in der Lage eine kleine App nach deinen Vorstellungen zu programmieren.

Auch hier gilt: Dieser Prozess kann je nach Teilnehmer Wochen und Monate dauern, besonders wenn der Teilnehmer meint, wichtige Grundlagen zu überspringen.

Ich kann dich wirklich an der Stelle nochmal darauf hinweisen: Lerne erst die Grundlagen, danach kommt der spannende Teil.

Hast du hier alle Schritte durchgeführt und hältst deine erste eigene App in den Händen (also auf deinem Smartphonebildschirm), kannst du weitermachen mit der professionellen objektorientierten Programmierung.

  • 26. Mai 2014
Click Here to Leave a Comment Below 6 comments
Stephan - 30. September 2016

Vielen Dank für diesen interessanten Artikel. Immer wieder ein sehr spannend sich mit dem Thema zu beschäftigen.

Reply
    Arek - 13. Oktober 2016

    Hallo Stephan,
    vielen Dank für das Kompliment!
    Beste Grüße
    Arek

    Reply
Luca - 12. Januar 2017

Hey, ich wollte seit Jahren auch in die programmier szene einsteigen.. kenne mich zwar null aus aber ich denke von mir aus habe ich immer sehr kreative Ideen die ich gerne umsetzen möchte…. Ich habe auch viel zeit um es eventuell zu lernen aber ich weiß nie genau wo man anfangen soll was ein unnötiger weg wäre und was nicht… Ich möchte mir nicht unnötig mehr arbeit machen als ich benötige und im Internet findet man echt viel aber auf dauer sehr verwirrend… Ich würde gerne Apps für Handy programmieren/erstellen ob es jetzt vorerst nur für Android ist sei mal dahin gestellt… Ich würde gerne spiele Apps machen… Manchmal schaue ich mir spiele an und frage mich ob es möglich ist diese App runterzuladen um sie zu ändern sprich, wenn ich ein spiel runterlade was mir von der Idee gefällt mir aber denke von dieser Version wäre es besser ob ich es dann auch so ändern könnte… sprich Copy und dann Bilder, Charakter, Attacken etc so anpassen das es zu meiner spiel Idee führt… Ich hoffe es war Teilweise verständlich was ich meine und nachfrage….

Reply
    Arkadius Roczniewski - 13. Januar 2017

    Hallo Luca,
    unnötige Wege habe ich damals viele gemacht. Da mir zwar jede Buch und Tutorial versprochen hat programmieren beizubringen, aber es dann letztendlich entweder schon für Fortgeschrittene geschrieben war oder nur so wenig Inhalt war, dass ich danach nicht wusste wie ich nun meine Ideen darauf anwende. Aus genau diesem Grund wurde der Anfängerkurs erstellt.
    Wenn man unnötige Wege vermeiden will kommt man um Webtechnologien nicht drum herum, es ist zwar etwas aufwendiger zu lernen, aber lohnt sich. Wenn du heutzutage zum Beispiel eine App für Android hast zu zwei Möglichkeiten. Du lernst Java und erstellst Apps, die nur auf Android lauffähig sind. Mit Webtechnoligen, also HTML, CSS und Javascript kannst du eine App schreiben, die für Android, iOS und sogar in jedem Browser an einem Computer aufrufbar ist. Die App dann in den Appstore zu bringen, ist dann nur noch eine Frage der Recherche.
    Im Anfängerkurs, lernst du die Grundlagen einer Programmiersprache und von Webtechnologie, am Ende des Kurses baut man in Praxislektionen Spiele und weitere Programme. Die Programme aus dem Kurs kann man tatsächlich herunterladen und mit dem nötigen Wissen an eigene Bedürfnisse anpassen.
    Schau doch mal ins Tutorial von lerneProgrammieren.de rein. Es dauert ca. 30 Minuten und du lernst dort die Grundlage aller Programmiersprachen, defintiv kein unnötiger Weg 😉 https://lerneprogrammieren.de/lerneprogrammieren-tutorial/
    Beste Grüße
    Arek

    Reply
Esmail - 30. August 2020

Vielen Dank.
Ich fand die Anleitung
sehr gut und bin dankbar
dafür.

Reply
    Arek - 31. August 2020

    Vielen Dank für dein Kompliment!
    Beste Grüße
    Arek

    Reply

Leave a Reply: