21
Google Android

Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Embed Size (px)

Citation preview

Page 1: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Google Android

Page 2: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Stefan Bühler für Infopoint 211.04.23

Überblick

Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Page 3: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Geschichte

5. November 2007: Google kündigt Android an

Open Handset Alliance: Vereinigung von z. Z. 47 Netzbetreibern, Chip-, Telefon- und Software-Herstellern

22. Oktober 2008: T-Mobile G1 auf US-Markt verfügbar

7. Juli 2009: Ankündigung von Google OS

Stefan Bühler für Infopoint 311.04.23

Page 4: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Architektur

Stefan Bühler für Infopoint 411.04.23

Page 5: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Applications

Kern-Applikationen E-Mail Client SMS Kalender Maps Browser Kontakte …

alle in Java geschrieben

Stefan Bühler für Infopoint 511.04.23

Page 6: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Application Framework

vollständiger Zugriff auf API, die auch den Core Applications zur Verfügung steht

Wiederverwendung von Komponenten: Applikationen stellen Funktionalität zur Nutzung durch andere Applikationen zur Verfügung

Views Content Providers Resource Manager Notification Manager Activity Manager

Stefan Bühler für Infopoint 611.04.23

Page 7: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Libraries

libc (BSD) Media Libraries (MPEG4, H.264, …) LibWebCore 2D/3D FreeType SQLite

Stefan Bühler für Infopoint 711.04.23

Page 8: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Android Runtime

Subset von Apache Harmony; Grossteil der Core Java Libraries unterstützt

Dalvik VM: register-basierte, auf minimalen Speicherbedarf optimierte VM; kein JIT Compiler

Stefan Bühler für Infopoint 811.04.23

Page 9: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Linux Kernel

Linux 2.6.x Kernel

Stefan Bühler für Infopoint 911.04.23

Page 10: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

SDK

http://developer.android.com aktuell 1.6 R1 Development Tools

Eclipse PluginEmulator, Debugger, …

Android Plattformen Beispielcode Dokumentation

Stefan Bühler für Infopoint 1011.04.23

Page 11: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Anwendungen I

in Java geschrieben, Transformation des Java-Bytecode in Android-Bytecode im .dex Format

gebündelt in einem Android Package .apk i. d. R. läuft jede Anwendung in einem

eigenen Prozess, mit einer eigenen Instanz der Dalvik VM, unter einem eigenen Linux-User

Stefan Bühler für Infopoint 1111.04.23

Page 12: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Anwendungen II

Manifest DateiJava Package Name (Id der Anwendung)Komponenten-DeklarationBerechtigungenverwendete Libraries

Stefan Bühler für Infopoint 1211.04.23

Page 13: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Komponenten einer Anwendung

Activity Service Broadcast Receiver Content Provider

Stefan Bühler für Infopoint 1311.04.23

Page 14: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Activity

User Interface für einen einzelnen Task z. B. IM Applikation:

Liste von Kontakten Textmitteilung verfassen Nachrichten-Archiv Einstellungen

grafischer Inhalt eines Fensters durch Hierarchie von Views festgelegt

Stefan Bühler für Infopoint 1411.04.23

Page 15: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Service

entspricht einem Service (Daemon) eines Desktop- oder Server-Systems

läuft im Hintergrund ab Instanzierung bis zum Ausschalten

Kein User Interface z. B. MP3 Player

Stefan Bühler für Infopoint 1511.04.23

Page 16: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Lifecycles

Stefan Bühler für Infopoint 1611.04.23

Page 17: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Broadcast Receiver

hört und reagiert auf systemweite Ereignisse, ausgelöst durch Android selber oder durch ein Programm

z. B. „battery low“ stellen selber keinen grafischen Inhalt dar,

können aber Activities starten oder mittels NotificationManager Alerts senden

Stefan Bühler für Infopoint 1711.04.23

Page 18: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Content Provider

speichert und lädt Daten und stellt sie Applikationen zur Verfügung

vorgegebene Content-Provider für Basis-Datentypen

z. B. Abfrage von Kontaktdaten mittels Query an die URI „content://contacts/people“

Stefan Bühler für Infopoint 1811.04.23

Page 19: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Intent

asynchrone Nachricht zur Aktivierung einer Komponente

explizite Intents: werden an Instanz der benannten Zielkomponente gesendet

implizite Intents: Android ermittelt die am besten geeignete Komponente

Stefan Bühler für Infopoint 1911.04.23

Page 20: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

UI

Definition einer Hierarchie von View und ViewGroup und dem Layout dieser Hierarchie in einer XML Layout Datei

Android generiert Klasse mit Resource-Identifiern

Stefan Bühler für Infopoint 2011.04.23

Page 21: Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK Anwendungen Komponenten einer Anwendung Beispiel Referenzen

Stefan Bühler für Infopoint 2111.04.23

Referenzen

http://developer.android.com http://www.openhandsetalliance.com Android Application Development; Rogers, Lombardo,

Mednieks, Meike; O‘Reilly 2009