Medientechnik:
App-Entwicklung
Einführung
Mobile Facts
Quelle: [Link]
Kai Höher 2
Mobile Facts
Quelle: [Link]
Kai Höher 3
Mobile Facts
Quelle: [Link]
Kai Höher 4
Mobile Facts
Quelle: [Link]
Kai Höher 5
Mobile Facts
Quelle: [Link]
Kai Höher 6
Mobile Facts
Globales Smartphone Betriebssystem Ranking 2018
1. Android 74,45%
2. iOS 22,85%
3. Sonstige OS 2,7%
Quelle: [Link]
Kai Höher 7
Mobile Facts
Globales Smartphone Hersteller Ranking 2018
1. Samsung 31,82%
2. Apple 22,85%
3. Xiaomi 7,88%
4. Huawei 7,87%
5. Oppo 4.49%
Quelle: [Link]
Kai Höher 8
Mobile Facts
Quelle: [Link]
Kai Höher 9
Kai Höher 10
Android - Einführung
• Wurde von Google (Open Handset Alliance) entwickelt
• Open Source
• Basiert auf Linux
• Hauptelemente der Architektur sind in Schichten unterteilt
Kai Höher 11
(System)-Apps
Java API Framework
Bibliotheken / Android Runtime
Hardware Abstraction Layer (HAL)
Linux Kernel
Quelle: [Link]
Kai Höher 12
Android - Architektur
• Apps
• Anwendungs-Applikationen (System-Apps und fremde Apps)
• Java API Framework
• Java Framework
• Stellt Entwicklern Funktionalitäten zur Verfügung
• Native Bibliotheken
• Geschrieben in C und C++
• zB. OpenGL ES
• Verwendbar über das Java API Framework
Kai Höher 13
Android - Architektur
• Android Runtime (ART)
• Laufzeitumgebung
• Eigene Virtual Machine (ART VM bzw. Früher Dalvik VM)
• Hardware Abstraction Layer (HAL)
• Stellt Schnittstellen zur Hardware für das Java API Framework zur Verfügung
• Linux Kernel
• Vor allem für Speicher- und Prozessverwaltung zuständig
• Direkte Verbindung zur Hardware
Kai Höher 14
Android - Apps
• Werden in Java entwickelt
• Als IDE verwenden wir Android Studio
• [Link]
• API Level stehen für die jeweilige Android-Version
• Unterschiedliche Level stellen unterschiedliche Funktionen zur Verfügung
• Je höher desto mehr
• Aktuell API Level 27 (8.1 Oreo)
• Java Source Code -> Java-Bytecode -> DEX-Format -> APK
Kai Höher 15
Android – APK
• Android Application Package
• APK-Datei enthält alles was die ART VM zur Auführung benötigt
• Voraussetzung: Richtiger API-Level!
ART VM
Quelle: Android Programming for Beginners, John Horton
Kai Höher 16
Android - Hauptbausteine
• Activities
• Kombination aus Bildschirmseite und zugehörigem Code
• Wird als Klasse implementiert
• Abgeleitet von [Link]
• Muss in der Manifestdatei aufgeführt werden
• Intents
• Stellen u.a. Verbindung zwischen Activities her
• Auch Services und Broadcasts können damit aufgerufen werden
Kai Höher 17
Quelle: [Link]
Kai Höher 18
Android - Hauptbausteine
• Views
• Elemente des User Interfaces (z.B. Buttons, Textfelder,…)
• Zeichnet sich selbst
• Kann mit Benutzer interagieren
• Sonstige
• Services
• Broadcast Receiver
• Content Provider
• Fragmente
Kai Höher 19
Android – Weiterführende Links
• [Link]
• [Link]
Kai Höher 20
Aufgaben
• Herunterladen und Installation von Android Studio
• [Link]
• Apps (Abgabe im eLearning-Kurs)
• Wie viele Apps habt ihr installiert?
• Wie viele Apps nutzt ihr tatsächlich regelmäßig?
• Welche Punkte sind euch bei Apps wichtig?
• Was muss eine App haben um sie regelmäßig zu benutzen?
Kai Höher 21