1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code, Angepasste Java Virtual Machine Bibliotheken, Laufzeitumgebung, Application Framework Entwicklungswerkzeuge Application Store (Google Play Store) Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 21
1. Software-Plattform Android Android Wer steht hinter Android? Google Open Handset Alliance (OHA), 87 Firmen z.b.: Google, ebay,... HTC, Motorola, Samsung, LG,... Intel, Qualcomm, Nvidia, TI,... Vodafone, T-Mobile,... Ziel: Entwicklung von offenen Standards für mobile Geräte Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 22
1. Software-Plattform Android Android Versionen 1.5 Cupcake 1.6 Donut 2.0/2.1 EClair 2.2 Froyo 2.3 Gingerbread 3.0/3.1 Honeycomb Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 23
1. Software-Plattform Android Android 4.0 Ice Cream Sandwich 4.1/4.2/4.3 Jelly Bean 4.4 KitKat Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 24
1. Software-Plattform Android Android Andere Plattformen für mobile Geräte Symbian OS Java ME Windows Mobile iphone OS Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 25
1. Software-Plattform Android Android T-Mobile G1 / HTC Dream Das erste verfügbare Android-Mobiltelefon: Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 26
1. Software-Plattform Android Android Android-Anwendungsprogramme E-Mail Clients: GMail, POP3, IMAP Personal Information Management (PIM): Synchronisation mit Google Calendar und Contacts WebKit-basierter Web-Browser SMS und Instant Messaging Android Market Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 27
1. Software-Plattform Android Android Android SDK Features XML-basiertes GUI-Layout (Trennung von Logik und Layout) Unterstützung zur automatische Anpassung an verschiedene Konfigurationen (Sprache, Display, etc.) Integration von Ressourcen (Grafiken, Audiodateien, XML-Dateien, etc.) Internet-Kommunikation: TCP, UDP und darauf basierende Protokolle Ad-Hoc Netzwerk: Bluetooth (SPP seit Android 2.0), NFC Location API Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 28
1. Software-Plattform Android Android Kartendarstellungen (Google Maps, eigentlich kein Bestandteil von Android) Zugriff auf Sensoren und Aktoren DBMS (sqlite) Wiedergabe verschiedener Medien-Formate Aufnahme von Fotos und Videos Komponententechnologie Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 29
1. Software-Plattform Android Entwicklungsumgebung Was beinhaltet die Entwicklungsumgebung Android API Entwicklungswerkzeuge Eclipse Plugin Android Virtual Device Manager Dokumentation Beispiel Quelltexte Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 30
1. Software-Plattform Android Entwicklungsumgebung Android Software Stack (1) Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 31
1. Software-Plattform Android Entwicklungsumgebung Android Software Stack (2) Linux Kernel: Basis von Android, enthält Hardwaretreiber Android Runtime: Dalvik Virtual Machine Jede Anwendung läuft in eigenem Prozess und virtueller Maschine. Java Core Libraries kapseln Benutzung der Standard-Bibliotheken. Libraries: C-Bibliotheken für grundlegende Funktionalitäten wie Datenbank, 3D-Grafik, Netzwerkzugriff, etc. Application Framework: Komponenten, die Systemdienste bereitstellen, zur Nutzung in Anwendungen Applications: Standard- und selbstentwickelte Anwendungen Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 32
1. Software-Plattform Android Entwicklungsumgebung Dalvik Virtual Machine Android nutzt eine eigene virtuelle Java Maschine, die Dalvik Virtual Machine. Dateiendung:.dex Basiert auf der Open-Source JVM Apache Harmony angepasst auf Effizienz für verschiedene Instanzen und Anforderungen für mobile Endgeräte Ausnutzung der Registerarchitektur moderner Prozessoren, angepasst an RISC-Architektur Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 33
1. Software-Plattform Android Entwicklungsumgebung SDK enthält Werkzeug zur Umwandlung von.class-dateien in.dex- Dateien. Keine Java-VM, daher keine Lizenzkosten an Oracle/SUN, keine Auslieferung der Änderungen von Apache Harmony notwendig, da Apache License Das benutzte Java API (viele Teile von J2SE) ist nicht geschützt (bisherige Meinung). Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 34
1. Software-Plattform Android Entwicklungsumgebung Aspekte der Anwendungsarchitektur Wichtige Bestandteile der Android-Architektur: Activity: Sichtbarer Teil einer Anwendungen zur Interaktion mit dem Benutzer, eigener Lebenszyklus, vgl. Applet, MIDlet Service: Teile einer Anwendung ohne Oberfläche für Hintergrundarbeiten Content Provider: Bereitstellung von Daten über Anwendungsgrenzen hinweg Broadcast Receiver: Teile einer Anwendung die auf Systemereignis lauschen und reagieren können Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 35
1. Software-Plattform Android Entwicklungsumgebung Intent, Intentfilter: Komponententechnologie, zur Verbindung von Komponenten View: Konstruktionselement für Benutzerschnittstellen Resource Manager: Einfacher Zugriff auf Non-Code Ressourcen einer Anwendung Notification Manager: Signalisierung von Ereignissen an den Benutzer Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 36
1. Software-Plattform Android Android Entwicklung Entwicklungswerkzeuge Grundlegenden Werkzeuge: Android Emulator bzw. Android Virtual Device Manager (AVD) Dalvik Debug Monitoring Service (DDMS) Android Asset Packaging Tool (AAPT) Android Debug Bridge (ADB) Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 37
1. Software-Plattform Android Android Entwicklung Weitere Helfer SQLite3: Zugriff auf SQLite-Datenbaken Traceview: Graphische Analyse der Trace-Logs von Android Anwendungen MkSDCard: Erzeugt ein SDCard Image für den Emulator dx: Wandelt.class Dateien in.dex Dateien Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal 2014 38