![Page 1: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/1.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Programmieren für mobile Endgeräte SS 2013/2014
![Page 2: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/2.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Organisatorisches
• Anmelden im Web: ZIV → Lehre → Anmelden
• Anwesenheitsliste → Anwesenheitsschein bei 75% Anwesenheit
• Allgemeine Studien → Leistungsschein (bei QISPOS anmelden, Klausur)
• Übungen:
• Aufgaben am Ende der Vorlesung
• Bearbeitung in einer virtuellen Maschine
• Für die nächste Vorlesung eigenes Androidgerät mitbringen
• Folien zur Vorlesung unter:
http://www.uni-muenster.de/ZIV/Lehre/mobileendgeraete/index.html
• Literaturempfehlung: Java für Android Native Android-Apps programmieren;
Christian Bleske, 2013; ISBN 978-3-645-60254-9; 30 Euro
• Link: http://developer.android.com/index.html
Programmieren für mobile Endgeräte 2
![Page 3: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/3.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Virtuelle Maschine als Testumgebung
• Virtualisierung mit einer virtuellen Maschine
• Zuweisen/Aufteilen von Ressourcen eines Computers
• Verwaltung der Gastsysteme als kompletter Rechner
• Prozessor
• Arbeitsspeicher
• Download der virtuellen Maschine xubuntu unter:
• \\zivpool1\zivkurse\mhass_01\Android\Androidmachine.ova
Programmieren für mobile Endgeräte 3
![Page 4: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/4.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Vorkenntnisse
• Wer kennt Java?
• Wer kennt XML?
• Wer hat schon eine Android-App geschrieben?
• Wer hat schon mit SQL gearbeitet?
• Wer hat schon mit einer virtuellen Maschine gearbeitet?
Programmieren für mobile Endgeräte 4
![Page 5: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/5.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Marktanteil beim Absatz führender Betriebssysteme
Programmieren für mobile Endgeräte 5
![Page 6: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/6.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Tortendiagramm der Androidversionen (10.2013)
Programmieren für mobile Endgeräte 6
Quelle: http://developer.android.com/about/dashboards/index.html
![Page 7: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/7.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Native Apps versus Web-Apps
• Native Apps:
• sind betriebssystemabhängig, da diese bestimmte Hardware und
Software voraussetzen.
• können auf Hardwarefunktionen zugreifen z. B. Kamera.
• bieten mehr Performance für 3D- und Spieleprogrammierung.
• Webapplikationen (Web-Apps):
• laufen auf einem Webserver und liefern z. B. Webseiten aus.
• sind betriebssystemunabhängig, da die Webseiten in einem Browser
angezeigt werden können.
Programmieren für mobile Endgeräte 7
Quelle: vgl. Android 4, Elisabeth Jung, Seite 15/16
![Page 8: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/8.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Was ist die Systemarchitektur von Android?
Programmieren für mobile Endgeräte 8
Quelle: http://commons.wikimedia.org/wiki/File:Android-System-Architecture.svg (Autor: Smieh; CC-BY-SA-3.0)
![Page 9: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/9.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Systemarchitektur von Android
• Linux Kernel
• Übernimmt die Speicher- und Prozessverwaltung
• bildet die unterste Schicht und dient zur Abstraktion der Hardware
• Gerätetreiber werden bereitgestellt
• Libraries: native Bibliotheken z. B. Codecs, SQLite und 3D-Programmierung auf
OpenGL basierend
• Android Runtime:
• Virtuelle Maschine Dalvik, als Registermaschine implementiert
• Android-Java-Klassenbibliotheken
• Applikation Framework: Verwaltet die Ressourcen und die Applikationen
interagieren mit dem Framework
• Applikationen: Contacts, Phone, Browser, eigene Apps
Programmieren für mobile Endgeräte 9
Quelle: http://de.wikipedia.org/wiki/Android_(Betriebssystem)
![Page 10: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/10.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Wege zum Erstellen eines Android-Projekts
1. IDE-Eclipse inclusive ADT-Bundle(SDK)
• Anlegen des Projekts wird von Eclipse und dem Android-Plugin
vorgenommen
• Hierfür müssen einige Eingabemasken ausgefüllt werden
2. Kommandozeilen-Programme des Android-SDK verwenden
• Befehl: android create project …
• Angaben werden als Parameter dem Befehl angehängt
Programmieren für mobile Endgeräte 10
Quelle: http://developer.android.com/training/basics/firstapp/creating-project.html
![Page 11: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/11.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Eclipse als IDE • Im Package Exporer
wird das Projekt
hierarchisch angezeigt
(blau)
• Der grüne Bereich
ist die Arbeitsfläche
für die Editoren z. B.
Java oder XML.
• Der hellblaue zeigt
Statusinformationen z.
B. die Eigenschaften
eines selektierten
Objekts
• Im pinken Bereich
gibt es weitere Infor-
mationen z. B. LogCat.
Programmieren für mobile Endgeräte 11
![Page 12: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/12.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Neues Projekt mit Eclipse erstellen
Programmieren für mobile Endgeräte 12
![Page 13: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/13.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Applikations- und Paketnamen angeben
Programmieren für mobile Endgeräte 13
![Page 14: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/14.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Projekt konfigurieren
Programmieren für mobile Endgeräte 14
![Page 15: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/15.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Icon-Set konfigurieren
Programmieren für mobile Endgeräte 15
![Page 16: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/16.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Activity anlegen?
Programmieren für mobile Endgeräte 16
![Page 17: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/17.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Projekt erstellen
Programmieren für mobile Endgeräte 17
![Page 18: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/18.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Projektbaum des angelegten Android-Projekts
• Die Abbildung zeigt die generierten Dateien
• In Rot die wichtigsten Dateien für unser erstes Projekt
• Dateien im Ordner gen unverändert lassen z. B. R.java
Programmieren für mobile Endgeräte 18
![Page 19: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/19.jpg)
Dozenten: Patrick Förster, Michael Hasseler
AndroidManifest.xml
• package enthält
den vergebenen
Paketnamen
• minSdkVersion
ist Version die zur
Ausführung der App
vorhanden sein muss
• targetSdkVersion
gibt die Version an
mit der die App
erstellt wurde
Programmieren für mobile Endgeräte 19
![Page 20: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/20.jpg)
Dozenten: Patrick Förster, Michael Hasseler
strings.xml
• Im Ordner res/values liegt die strings.xml.
• Textinhalte aus der App werden in diese Datei aufgelistet:
• Key-value-Paare werden als Zugriffsart verwendet.
• Beispiel: Mit dem key app_name erhält man als value HelloWorld!.
Programmieren für mobile Endgeräte 20
![Page 21: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/21.jpg)
Dozenten: Patrick Förster, Michael Hasseler
activity_main.xml
• Im Ordner res/layout liegt die Datei activity_main.xml:
• Die Anordnung der Bildschirmelemente wird in einer Layout-Datei festgelegt.
• Für jede Bildschirmseite sollte eine eigene Layout-Datei abgelegt werden.
• Der TextView wird ein Wert aus String.xml mit dem key hello_world zugewiesen.
Programmieren für mobile Endgeräte 21
![Page 22: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/22.jpg)
Dozenten: Patrick Förster, Michael Hasseler
MainActivity.java
• Im Ordner src werden aus den Paketnamen Ordnerstrukturen angelegt.
• In diesen Ordnern werden die java-Dateien anhand ihres Paketnamens abgelegt.
Programmieren für mobile Endgeräte 22
![Page 23: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/23.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Einmalig Konfiguration auswählen
• Klicken Sie im Menü auf Run/Run Configurations
Programmieren für mobile Endgeräte 23
![Page 24: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/24.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Konfiguration erstellen
• Klicken Sie auf den Punkt Android Application.
Programmieren für mobile Endgeräte 24
![Page 25: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/25.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Projekt auswählen 1/2
• Klicken Sie auf die Registerkarte Target und dann auf den Button Browse.
Programmieren für mobile Endgeräte 25
![Page 26: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/26.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Projekt auswählen 2/2
Programmieren für mobile Endgeräte 26
![Page 27: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/27.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Target auswählen
Programmieren für mobile Endgeräte 27
![Page 28: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/28.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Projekt ausführen
• Klicken Sie im Menü auf Run/Run As/Android Application
Programmieren für mobile Endgeräte 28
![Page 29: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/29.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Emulator wird gestartet
Programmieren für mobile Endgeräte 29
Erst erscheint der linke Bildschirminhalt und dann der rechte.
![Page 30: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/30.jpg)
Dozenten: Patrick Förster, Michael Hasseler
LogCat
• Das Werkzeug LogCat unterstützt bei der Überwachung der App.
• In einer Registerkarte LogCat werden die protokollierten Ausgaben angezeigt.
• Für ein Logausgabe muss die Klasse Log eingebunden werden:
import android.util.Log;
• Die Logausgabe erfolgt mit dem Befehl:
Log.d(“HelloWorldApp“, “Meldung“);
Programmieren für mobile Endgeräte 30
Quelle: vgl. Java für Android, Christian Bleske, Seite 71-73
![Page 31: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/31.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Zusammenfassung
• Was ist eine Web-App und was eine native App?
• Was ist Android und wie ist die Systemarchitektur aufgebaut?
• Sie sind in der Lage ein Android-Projekt unter Eclipse anzulegen.
• Sie kennen die wesentlichen Teile eines Android-Projektes.
• Sie können eine Konfiguration auswählen und ein Android-Projekt
ausführen.
• Sie können eine Logausgabe erzeugen.
Programmieren für mobile Endgeräte 31
![Page 32: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/32.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Aufgaben
• 1) Legen Sie das Android-Projekt HelloWorldApp an so wie es in den vorherigen
Folien beschrieben wurde.
• 2) Bauen Sie in der Methode OnCreate eine LogCat-Meldung ein und schauen Sie sich
die Meldung in der LogCat-Registerkarte nach der Ausführung der App an.
• 3) Ändern Sie die Ausgabe der App von „Hello World!“ in „Hallo Münster!“ um.
Programmieren für mobile Endgeräte 32
![Page 33: Programmieren für mobile Endgeräte · Emulator wird gestartet Programmieren für mobile Endgeräte 29 Erst erscheint der linke Bildschirminhalt und dann der rechte. Dozenten: Patrick](https://reader036.vdocuments.mx/reader036/viewer/2022081617/605ab89343083a6f465bb493/html5/thumbnails/33.jpg)
Dozenten: Patrick Förster, Michael Hasseler
Anhang: Schritte beim Einrichten der virtuellen Maschine
1. Oracle VM Virtual Box installieren (https://www.virtualbox.org/)
2. Ubuntu/Xubuntu-Image downloaden (http://xubuntu.org/)
3. VirtualBox starten -> „neu“ -> CD-Image einbinden -> von CD booten
4. Eclipse mit ADT-Bundle downloaden
(http://developer.android.com/sdk/index.html)
5. Eclipse starten und mit Android-Gerät konfigurieren
Programmieren für mobile Endgeräte 33