 
                                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