Programmieren Java mit Android Seite § 1 Seite § 2 Bei uns sind Smartphones erwünscht Seite § 3 Überblick Seite § 4 Was ist Android? § § Eine Reihe Open-Source SW-Komponenten koordiniert von der „Open Handset Alliance“ - Netzbetreiber, SW-Hersteller, Hardwarehersteller Komponenten - Linux 3.x basierendes OS - Android-Runtime § § Core Libraries Dalvik VM bald ART ... Android Runtime - Basisanwendungen (Telephonie, Kontakte, …) - Android SDK in vielen Versionen Seite § 5 Dalvik VM (DVM) § § § § § Registerbasierte VM Optimiert auf kleinere Geräte (Speicherverwaltung, …) Spezieller Bytecode (nicht JVM-kompatibel) Jeder Prozess bekommt seine eigene DVM Geordnete Kommunikation zwischen den Prozessen (IPC) über Android Interface Definition Language (AIDL) Seite § 6 Dalvik Java Virtual Machine Seite § 7 http://www.slideshare.net/YongHeuiCho/android-application-framework-53401621 Systemarchitektur (Quelle: Wikipedia) Seite § 8 Komponenten im ersten Überblick § § § Activity ist DIE Oberflächenkomponente Service erledigt Aufgaben im Hintergrund ContentProvider bieten eine koordinierte Schnittstelle zu Daten - Speicherung - Zugriff § § Broadcastreceiver belauschen Meldungen des Systems oder der Apps Intents beschreiben die Funktionalitäten der einzelnen Komponenten Seite § 9 Activities • Activity is an User Interface Screen. • An application may have two or more activities to handle different phases of program. For e.g. opening page, menu page, etc. • Activity is responsible for saving its own state so that it can be restored later as part of the application life cycle. single activity Seite § 10 multiple activities Activities: XML-Layout und Eventhandler § § § View ist die Basisklasse aller UI-Controls Definition in XML Codierung in Java Seite § 11 Intents sind der KITT zwischen den Komponenten § § § Intents sind abstrakte Beschreibungen von Funktionalitäten von Komponenten Gegenseitige Nutzung der Komponenten ist ein Grundkonzept von Android - SMS senden - Auf Kontaktdaten zugreifen Intents stellen die Vereinbarungen für die Verwendung der Komponenten zur Verfügung - Möglichkeiten, Berechtigungen, … Seite § 12 Content Provider • A content provider is a set of data wrapped up in a custom API to read and write it. This is the best way to share global data between applications. • Google provide content provider for contacts. Seite § 13 Intents • Intent is a mechanism for describing a specific action such as pick a photo. • Basically we register a activity to handle a Intent. Seite § 14 Services • A service is a task that runs in the background without the user’s direct interaction, similar to a Unix daemon. For e.g. we can have Music player program playing in background even if we are browsing other programs. Seite § 15 Entwicklungswerkzeuge: SDK Seite § 16 Entwicklungswerkzeuge: SDK Seite § 17 Sprachreferenz: developer.android.com Seite § 18 Android Device Monitor § § § § § Plugin für komfortable Unterstützung Emulatoren Debugging Logging … Seite § 19 Entwicklungsumgebung Seite § 20