Android-App zur Bilddarstellung Marco Mix Chair of Electrical Engineering and Computer Systems RWTH Aachen University Inhaltsübersicht 1. Motivation 2. Android - Allgemein Geschichte Vorzüge des Betriebssystems 3. Android - Aufbau Architektur Elemente einer Anwendung 4. Die Anwendung „ZooApp“ Aufgaben Navigation 5. Fazit & Ausblick 20.01.2012 2 Motivation Android – Allgemein Android – Aufbau Zoo-App Fazit & Ausblick 1. Motivation „Zoo-App“ für Bachelorarbeit ► ► ► ► Orientierung im Zoo verbessern Informationen über Gehege einfacher zugänglich machen Navigation zu einem Gehege (GPS) Vorteile: Zoobesuch kann vorab geplant werden Mobiler als Infotafeln Flexibler und kostengünstiger zu ändern Seminararbeit ► ► ► Vorstufe der Zoo-App entwickeln Basisfunktionen programmieren Einstieg in die Android-Programmierung Motivation - 2 - 3 - 4 - 5 20.01.2012 4 Motivation Android – Allgemein Android – Aufbau Zoo-App Fazit & Ausblick Geschichte Firma Android wurde 2003 gegründet 2005 von Google aufgekauft Im November 2007 wurde die Open Handset Alliance gegründet (Google + 33 weitere Mitglieder) Ankündigung der Entwicklung des mobilen Betriebssystems Android Im Oktober 2008 kam das erste Android-Gerät in den Handel (T-Mobile G1) 1 - Android Allgemein - 3 - 4 - 5 20.01.2012 6 Vorzüge des Betriebssystems Für Hersteller ► freie und quelloffene Software Kostenlos Anpassbar viele Endgeräte (allein über 30 von Samsung) Für Entwickler ► ► ► kostenlose Entwicklung von Android-Anwendungen Java Viele Hilfe im Netz Einsteigerfreundlich viele Apps (über 600.000) Attraktiv für Kunden Über 50% Marktanteil an Verkäufen (Q3/2011) Über 700.000 Aktivierungen pro Tag 1 - Android Allgemein - 3 - 4 - 5 20.01.2012 7 Motivation Android – Allgemein Android – Aufbau Zoo-App Fazit & Ausblick Architektur (1) 4-Schichten-Architektur 1. Linux-Kernel ► Speicherverwaltung, Prozessverwaltung, Multitasking und Netzwerkkommunikation ► Gerätetreiber ► Hardwareabstraktion 2. Android-Laufzeitumgebung + Standardbibliotheken ► Dalvik Virtual Machine (DVM) ► C/C++-Bibliotheken 3. Anwendungsrahmen ► Java-Systemklassen ermöglichen Zugriff auf Hardwarekomponenten 4. Anwendungsschicht ► alle Anwendungen ► Kommunikation zwischen Anwender und Anwendung 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 9 Architektur (2) 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 10 Dalvik Virtual Machine (DVM) Virtuelle Registermaschine Basiert auf einer Java Virtual Machine (JVM) Führt Dalvik-Bytecode aus Eine DVM pro laufende Anwendung Stabilität Datenschutz 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 11 Elemente einer Anwendung Android-Komponenten ► Activity ► Service ► Führt Hintergrundoperationen aus Content Provider ► Sichtbare Bildschirmseite Interagiert mit dem Anwender Veröffentlicht Daten Broadcast Receiver Empfängt Systemnachrichten (z.Bsp. niedriger Akkustand) Android-Manifest ► XML-Datei im Wurzelverzeichnis der Anwendung ► Enthält Informationen über die Anwendung 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 12 Activity Sichtbarer Teil des Programms Interagiert mit Anwender Bestandteile ► ► ► Views Layouts Menüs Intents ► ► ► Starten neue Activities Verknüpfung der Activities zu einem Programm Austauschen von Daten möglich 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 13 Views Oberflächenelemente Beispiele ► ► ► ► ► ► TextView: Button: ImageButton: ImageView: CheckBox: RadioButton: Textfeld Schaltfläche Schaltfläche in Form eines Bildes Bild Ankreuzfeld Auswahlschalter Werden mit Layouts angeordnet 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 14 Layouts (1) Anordnung der Views auf dem Bildschirm LinearLayout ► ► Views werden hintereinander abgebildet Ausrichtung horizontal oder vertikal RelativeLayout ► ► Positionierung relativ zu Bildschirmrändern oder anderen Views Absolute Positionierung möglich TableLayout FrameLayout AbsoluteLayout Layoutähnliche Konstrukte ► ► ListView Gallery 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 15 Layouts (2) Anordnung der Views auf dem Bildschirm LinearLayout ► ► Views werden hintereinander abgebildet Ausrichtung horizontal oder vertikal RelativeLayout ► ► Positionierung relativ zu Bildschirmrändern oder anderen Views Absolute Positionierung möglich TableLayout FrameLayout AbsoluteLayout Layoutähnliche Konstrukte ► ► ListView Gallery 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 16 Layouts (3) Anordnung der Views auf dem Bildschirm LinearLayout ► ► Views werden hintereinander abgebildet Ausrichtung horizontal oder vertikal RelativeLayout ► ► Positionierung relativ zu Bildschirmrändern oder anderen Views Absolute Positionierung möglich TableLayout FrameLayout AbsoluteLayout Layoutähnliche Konstrukte ► ► ListView Gallery 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 17 Layouts (4) Anordnung der Views auf dem Bildschirm LinearLayout ► ► Views werden hintereinander abgebildet Ausrichtung horizontal oder vertikal RelativeLayout ► ► Positionierung relativ zu Bildschirmrändern oder anderen Views Absolute Positionierung möglich TableLayout FrameLayout AbsoluteLayout Layoutähnliche Konstrukte ► ► ListView Gallery 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 18 Menüs Zwei Arten von Menüs: Options- und Kontextmenü Optionsmenü ► ► Eins pro Activity Wird über die Menü-Taste geöffnet Kontextmenü ► ► Eins pro View Wird über Long-Click-Event geöffnet 1 - 2 - Android-Aufbau - 4 - 5 20.01.2012 19 Motivation Android – Allgemein Android – Aufbau Zoo-App Fazit & Ausblick Zoo-App (1) Aufgaben ► Zoombare Übersichtskarte darstellen (mit Gehegen) ► GPS-Position anzeigen und GPS-Verfolgung ► Gehegeinformationen darstellen ► Bildergalerie zum Gehege anzeigen ► Liste aller Gehege anzeigen ► Zoo-Infos anzeigen (Öffnungszeiten) 1 - 2 - 3 - Zoo-App - 5 20.01.2012 21 Zoo-App (2) Aufgaben ► Zoombare Übersichtskarte darstellen (mit Gehegen) ► GPS-Position anzeigen und GPS-Verfolgung ► Gehegeinformationen darstellen ► Bildergalerie zum Gehege anzeigen ► Liste aller Gehege anzeigen ► Zoo-Infos anzeigen (Öffnungszeiten) 1 - 2 - 3 - Zoo-App - 5 20.01.2012 22 Zoo-App (3) Aufgaben ► Zoombare Übersichtskarte darstellen (mit Gehegen) ► GPS-Position anzeigen und GPS-Verfolgung ► Gehegeinformationen darstellen ► Bildergalerie zum Gehege anzeigen ► Liste aller Gehege anzeigen ► Zoo-Infos anzeigen (Öffnungszeiten) 1 - 2 - 3 - Zoo-App - 5 20.01.2012 23 Zoo-App (4) Aufgaben ► Zoombare Übersichtskarte darstellen (mit Gehegen) ► GPS-Position anzeigen und GPS-Verfolgung ► Gehegeinformationen darstellen ► Bildergalerie zum Gehege anzeigen ► Liste aller Gehege anzeigen ► Zoo-Infos anzeigen (Öffnungszeiten) 1 - 2 - 3 - Zoo-App - 5 20.01.2012 24 Zoo-App (5) Aufgaben ► Zoombare Übersichtskarte darstellen (mit Gehegen) ► GPS-Position anzeigen und GPS-Verfolgung ► Gehegeinformationen darstellen ► Bildergalerie zum Gehege anzeigen ► Liste aller Gehege anzeigen ► Zoo-Infos anzeigen (Öffnungszeiten) 1 - 2 - 3 - Zoo-App - 5 20.01.2012 25 Zoo-App (6) Aufgaben ► Zoombare Übersichtskarte darstellen (mit Gehegen) ► GPS-Position anzeigen und GPS-Verfolgung ► Gehegeinformationen darstellen ► Bildergalerie zum Gehege anzeigen ► Liste aller Gehege anzeigen ► Zoo-Infos anzeigen (Öffnungszeiten) 1 - 2 - 3 - Zoo-App - 5 20.01.2012 26 Navigation 1 - 2 - 3 - Zoo-App - 5 20.01.2012 27 Motivation Android – Allgemein Android – Aufbau Zoo-App Fazit & Ausblick Fazit & Ausblick Betriebssystem Android ► ► Attraktiv für Hersteller, Entwickler und Kunden Wird ständig weiterentwickelt Sehr gute Zukunftsaussichten Zoo-App ► ► guter Einstieg in die Android-Programmierung Grundstein für die Bachelorarbeit Bachelorarbeit ► ► ► Implementierung der Navigation Digitalisierung der Karte Programmierung eines Editors 1 - 2 - 3 - 4 - Fazit & Ausblick 20.01.2012 29 Fragen? Danke für die Aufmerksamkeit