Appearance
11. Android Apps Intro
Bei Android Entwicklungen unterscheidet man ganz grundsätzlich zwischen:
Android App-Entwicklung
Android-Applikationen lassen sich bequem unter Linux, Windows und OS-X in Java unter Verwendung der Andorid Java / Kotlin Klassenlibrary entwickeln. Derartige Android Apps können direkt auf dem Emulator oder via USB auf jedem Android-Handy installiert und getestet werden und später recht einfach über den Google „Play Store“ oder einen Android-Store eines Drittanbieters vertrieben resp. veröffentlicht werden.
Als App-Entwicklungsumgebung bietet Google Android Studio an. Dieses basiert einerseits auf die IDE IntelliJ von Jetbrains, andererseits auf das Open Source Build-Tool Gradle. Zudem wird das Android SDK benötigt, welches nebst dem Dalvik-Compiler (zwecks Umsetzung des Java Classcodes in Dalvik Bytecode) und weiteren Tools auch die Android-Class-Libraries sowie den Andoid-Emulator beinhaltet. Das Android SDK kann bequem via Android-Studio heruntergeladen und aktualisiert werden.
Android Firmware Image erstellen/modifizieren
Nur unter Linux lassen sich hingegen auch Android Firmware-Images generieren, nach Installation der Android Open Source Platform (AOSP) z.B. wenn Android an eine eigene Hardware angepasst oder Änderungen am Android Grundsystem vorgenommen werden soll. Nebst der selben GCC-Compiler-Toolchain wie im Android SDK enthalten, enthält das AOSP auch den Quellcode des gesamten Android-Frameworks inklusive Libraries, Services und einiger Apps, jedoch ohne die „Google Apps“ (wie die PlayStore App, Google Maps, …) . Weiter beinhaltet das AOSP auch den Sourcecode des Linux-Kernels für die Referenz-Plattformen (d.h. für den „Goldfish“ Emulator sowie der Google Nexus Geräte), inklusive Android-spezifischen Kernel-Modules sowie Tools um die Android-Systempartition zu erstellen. Bei Android wird die Systempartition übrigens read-only gemountet (auf /system
), d.h. die Systempartition ist im Betrieb aus Sicherheitsgründen unveränderbar.
Eine nachträgliche Installation von Applikationen erfolgt deshalb in der separaten Daten-Partition (unter /data/
... ).
Android Apps entwickeln
Das Kennenlernen der AOSP-Platform würde den Rahmen dieses Kurses bei weitem sprengen. Jedoch soll an dieser Stelle eine kurze Einführung in die Android App-Entwicklung erfolgen!
Wie erwähnt ist die Entwicklungsumgebung „Android Studio“ für Windows, OS-X oder Linux erhältlich – aus Performancegründen arbeiten Sie also am besten nicht virtualisiert!
Installieren Sie den aktuellen "stable" Release des Android Studio ab https://developer.android.com/studio .
Aufgabe:
Arbeiten Sie das aktuelle „Getting started with Android development - Tutorial“ von Lars Vogel (nur) bis und mit Kapitel „Exercise: Create a temperature converter“ durch (die restlichen Kapitel sind fakultativ).
Sie finden dieses Tutorial auf https://www.vogella.com/tutorials/Android/article.html
Android Referenzen und weitere Tutoials:
- https://www.vogella.com/tutorials/android.html (weitere Tutorials von Lars Vogel)
- https://www.vogella.com/tutorials/AndroidDevelopmentProblems/article.html (häufige Probleme und deren Lösung)
- https://developer.android.com/guide/ (offizieller Andorid Development Guide)
- https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts (Typische Layout-Beispiele)
- https://developer.android.com/samples (offizielle Android Code-Samples)
- https://developer.android.com/reference/ (offizielle Andorid API Reference)
- https://developer.android.com/training/basics/firstapp (Das offizielle Android "Hello World" Tutorial)