Google Android. Stefan Bühler für Infopoint2 19.05.2014 Überblick Geschichte Architektur SDK...

Preview:

Citation preview

Google Android

Stefan Bühler für Infopoint 211.04.23

Ü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

Architektur

Stefan Bühler für Infopoint 411.04.23

Applications

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

alle in Java geschrieben

Stefan Bühler für Infopoint 511.04.23

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

Libraries

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

Stefan Bühler für Infopoint 711.04.23

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

Linux Kernel

Linux 2.6.x Kernel

Stefan Bühler für Infopoint 911.04.23

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

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

Anwendungen II

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

Stefan Bühler für Infopoint 1211.04.23

Komponenten einer Anwendung

Activity Service Broadcast Receiver Content Provider

Stefan Bühler für Infopoint 1311.04.23

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

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

Lifecycles

Stefan Bühler für Infopoint 1611.04.23

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

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

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

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

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

Recommended