Android Tutorium Grundlagen. Dr. Steffen Kern & Paul Cech Erfurt University of Applied Sciences

Größe: px
Ab Seite anzeigen:

Download "Android Tutorium Grundlagen. Dr. Steffen Kern & Paul Cech Erfurt University of Applied Sciences"

Transkript

1 Android Tutorium Grundlagen Dr. Steffen Kern & Paul Cech Erfurt University of Applied Sciences

2 Android Ökosystem I Plattform für mobile Endgeräte wie Smartphones und Tablets Aktuelle Version: 5.1 (Lollipop) G1 Motorola Xoom HTC one 2

3 Android Ökosystem II Marktverteilung der Android-Versionen (via Google Play) Quelle: 3

4 Geräteeigenschaften I Bildschirmgrößen und -auflösungen Quellen: 4

5 Geräteeigenschaften II Verbreitung von Bildschirmtypen Quelle: 5

6 Android Eigenschaften I Multi-Process Ein Prozess pro Applikation Applikationen und Hintergrunddienste werden parallel ausgeführt App Widgets auf dem Homescreen Touch, Gesten, Multitouch Hard- und Softwarekeyboards Unterstützung für beide Typen nötig Wichtig vor allem in Bezug auf das Screen-Design 6

7 Android Grundlagen I Systemaufbau 7

8 Android Grundlagen II Applikationen werden in Java programmiert Code und Daten werden in einem Android Package zusammengefasst (apk-datei) Verteilung und Installation erfolgt über diese apk-datei Dalvik = Android Java VM ART = Android Runtime (ab Android 4.4) 8

9 Android Grundlagen III Android-Anwendungen bestehen aus verschiedenen, modularen Komponenten Eine Anwendung kann Komponenten von anderen Anwendungen nutzen Komponententypen Activity Service Broadcast Receiver Content Provider 9

10 Android Grundlagen IV Komponenteninteraktion Prozess A Prozess B Prozess C Dalvik VM Dalvik VM Dalvik VM Komponente A.1 Komponente A.2 Komponente B.1 Komponente C.1 10

11 Dalvik vs. ART I Dalvik: JIT - Compiler (Just-In-Time) Instruktionen werden geladen wenn sie benötigt werden ART: AOT - Compiler (Ahead-Of-Time) Instruktionen werden geladen bevor diese benötigt werden App wird bei Installation auf Gerät kompiliert (Optimierung für das Gerät) 11

12 Davlik vs. ART II Vorteile ART Signifikante Beschleunigung des Codes Verbesserung der Batterielaufzeiten Multi-DEX Support nativ unterstützt verbesserter Garbage Collector verbesserte Debugging Features bspw. Stacktrace Ausgabe 12

13 Tools Java SDK und Android Studio (aktuell Version Preview 3) Basiert auf IntelliJ Idea 14 Enthält alle Tools für die Android-Entwicklung oder Eclipse + Android SDK + Plugin Eclipse IDE for Java Developers: https://www.eclipse.org/downloads/ Android SDK: Plugin: 13

14 Emulatoralternativen Genymotion Virtual Box & Android x86 Image Virtual Box: https://www.virtualbox.org/ x86 Image: Micro-Controller mit Android z.b. Ein echtes Gerät ;-) 14

15 Android Projekt erstellen I 15

16 Android Projekt erstellen II Projektname Modulname Java Package für das Modul Speicherort Minimal unterstützte Android-Version & Ziel-Version Style/Theme Optionen 16

17 Android Projekt erstellen III Auswahl einer Projektvorlage 17

18 Android Projekt erstellen IV Falls Create Activity gewählt wurde, erfolgt auf diesem Screen die Konfiguration dieser. Auswahl gewünschter Features. 18

19 Android Projekt erstellen V Start! Sourcecode der erzeugten Activity Projektstruktur Zugriff auf weitere Tool- Fenster 19

20 Android Projekt erstellen V Auswahl des Zielgerätes Liste der verfügbaren Android-Geräte (USB oder Emulator) Verfügbare Emulatoren 20

21 Android Projekt erstellen VI 21

22 Android Projekt erstellen VII Neustart der Anwendung und Auswahl des laufenden Emulators 22

23 Android Projekt erstellen IX Dalvik Debug Monitor Server (DDMS) Hinweis: Emulator-Start dauert sehr lange, deshalb einen gestarteten Emulator nicht beenden. 23

24 Android Projektstruktur I Projekt Modul Build-Ordner Manuell hinzugefügte Bibliotheken Sourcen siehe nächste Folie Gradle Build Konfigurationen für Modul und Projekt Alle mit dem Projekt verknüpfte Bibliotheken Manuell oder via Gradle 24

25 Android Projektstruktur II Gradle erfordert diese Struktur src/main/(java res) Java Sourcecode der Anwendung Applikationsresourcen drawable Ordner für verschiedene Auflösungen Das gleiche Bild kann in verschiedenen Größen in den einzelnen Ordner liegen (gleicher Name!). Android wählt dann zu Laufzeit das passende aus. layout Ordner für Layouts der einzelnen Screens Auch hier ist eine Anpassung für verschiedene Gerätetypen möglich. menu Ordner Definition von Optionsmenüs values Ordner Statische Daten wie Strings, Werte, Styles, etc. AndroidManifest.xml Meta-Informationen wie Name, Rechte, App-Elemente, etc. 25

26 Gerätespezifische Daten Über Suffixe der entsprechenden Ordner können Bilder, Layouts, Styles - im Grund alle Anwendungsresourcen - gerätespezifisch erstellt und abgelegt werden Android wählt dann zu Laufzeit die passenden Resourcen aus res/layout/my_layout.xml // layout for normal screen size ("default") res/layout-small/my_layout.xml // layout for small screen size res/layout-large/my_layout.xml // layout for large screen size res/layout-xlarge/my_layout.xml // layout for extra large screen size res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation res/drawable-mdpi/my_icon.png res/drawable-hdpi/my_icon.png res/drawable-xhdpi/my_icon.png // bitmap for medium density // bitmap for high density // bitmap for extra high density 26

27 Android Manifest Deklarierung der benötigten Rechte Name der App Registrieren von Activities, Services, Broadcast Receiver Generelle Meta-Informationen 27

28 Gradle Build Tool Vor Android Studio war zum Erstellen/Bauen einer Android-Anwendung Eclipse mit dem Android SDK/ Android Plugin notwendig Schlecht für automatisierte Deployments Deshalb Wechsel zu eine Build-Tool a la make oder Ant Gradle: Gradle & Android: Gradle erlaubt neben dem Erstellen von Anwendung auch das Verwalten von externen Bibliotheken 28

29 Gradle Build File buildscript { repositories { mavencentral() } dependencies { classpath 'com.android.tools.build:gradle:0.7.+' } } apply plugin: 'android' repositories { mavencentral() } android { compilesdkversion 19 buildtoolsversion "19.0.0" } Android Gradle Tools Repository für externe Bibliotheken Build-Konfiguration defaultconfig { minsdkversion 16 targetsdkversion 19 versioncode 1 versionname "1.0" } buildtypes { release { runproguard false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.txt' } } dependencies { // Android Support Library v4 compile 'com.android.support:support-v4:+' } Externe Abhängigkeiten 29

30 Android Screen Layouts Android nutzt XML zur Beschreibung der Layouts einzelner Screens. Alternativ können Layouts auch vollständig im Programmcode erstellt werden, was aber sehr mühselig ist. Diese XML-Dokumente definieren, welche Elemente auf einem Screen enthalten und wie diese angeordnet/ verschachtelt sind. Android Studio bietet einen grafischen Editor zu Erstellung dieser Layout-Dokumente. -> Definition = XML, Dynamische Anpassung = Java 30

31 Layout Editor Konfiguration des Editors Gerätetyp, Ausrichtung, Theme,... Strukturansic ht des Screens Verfügbare Elemente Wechsel zwischen Design- und XML- Ansicht Editor Eigenschaftseditor für das ausgewählte Element 31

32 XML Ansicht des Layouts 32

33 Layouts Vorgefertigte Widgets (Basisklasse View) wie Buttons, Listen, etc. Hierarchie von Views beschreibt den Bildschirminhalt Layouts definieren die Anordnung der Views Definition via XML oder via Java Code layout-objects.html LinearLayout RelativeLayout 33

34 Java-Code & XML-Layout I Um zur Laufzeit Änderungen an den Elementen des Screens vornehmen zu können, muss man via Java- Code darauf zugreifen. Wie erfolgt also die Verknüpfung der in XML definierten Elemente mit dem Code? 1. Vergabe von eindeutigen IDs im XML Dokumente im res-ordner erhalten ebenfalls IDs 2. Mapping-Klasse R.java Wird durch die IDE automatisch generiert 34

35 Java-Code & XML-Layout Auszug aus MainActivity Referenzieren des gesamten Layouts setcontentview() liest das XML-Layout und erzeugt einen Objektbaum Auszug aus activity_main.xml 3. findviewbyid() liefert ein Objekt von Typ View zurück - deshalb Casten auf TextView 2. Referenzieren der ID via R- Klasse 1. Definition einer ID für den TextView 35

36 R.java Innere Klassen für die einzelnen Resourcentypen (Layout, Menü, Drawable, IDs,...) Diese inneren Klassen enthalten dann Konstanten für die einzelnen Elemente. 36

37 R.java Beispiele für Referenzierung Resource Referenz in Java Referenz in XML res/layout/main.xml res/drawable-hdpi/ <string name= hello /> 37

38 Framework Basis Klassen Activities Intents Services (IntentServices) Broadcast Receiver Content Provider 38

39 Activities I DIE Haupt-Komponenten einer Android-Applikation Dient der Interaktion mit dem Nutzer Vergleichbar mit den Seiten einer Website 1 Activity = 1 Screen (wenn man Fragmente ignoriert) Zugehöriges XML-File für die UI Meist eine oder mehrere Activities pro Applikation Wird beendet, wenn der Back -Button gedrückt wird! Wechsel in eine andere Applikation führt zum Stopped - Zustand 39

40 Activities II Basisklasse android.app.activity Jede Activity in einer Applikation muss in der AndroidManifest.xml deklariert werden Auszug aus AndroidManifest.xml 40

41 Activities III - Lebenszyklus Laden der Layout XML-Datei Letzte Vorbereitungen, bevor die Activity sichtbar wird. Sichern aller Daten in onpause()! Danach kann die Activity prinzipiell beendet werden Werden nicht zwingend aufgerufen! Deshalb nicht darauf verlassen. 41

42 Activities IV - Callbacks Beispiel import android.app.activity; public class MyActivity extends Activity { } protected void oncreate(bundle savedinstancestate) { } protected void onstart() { } protected void onrestart() { } protected void onresume() { } protected void onpause() { } protected void onstop() { } protected void ondestroy() { } Wichtig: Lebenszyklus-Methoden müssen die Implementierung der Super-Klasse aufrufen! 42

43 Activities V Schritte zum Anlegen einer neuen Activity 1. Java-Klasse anlegen, welche von android.app.activity erbt 2. XML-Datei für das Layout im Ordner res/layout anlegen 3. Die Activity in der AndroidManifest.xml eintragen 4. In der Activity-Klasse die oncreate(...) Methode überschreiben und die Verknüpfung zur Layout XML- Datei herstellen 43

44 Logging I Klasse android.util.log Statische Methoden für Error ( e() ), Warning ( w() ), Info ( i() ), etc. Parameter tag : String - Identifier (Klassenkonstante sinnvoll!) msg: String - Die Log-Meldung Ansicht DDMS Console 44

45 Logging - Beispiel 45

46 Übung Android Projekt erstellen Main Activity erstellen Callback-Methoden des Lebenszyklus implementieren Applikation ausführen Lebenszyklus der Activity über die Log-Meldungen nachverfolgen 46

47 Widgets & Layouts I Definition von UIs via XML/Eclipse Editor Dynamisches Anpassen von UIs via Java-Code Referenz auf Layout-XML via R.layout.<xyz> Referenzen auf UI-Elemente via R.id.<xyz> Methode: findviewbyid( int id ) Über android.r.layout bzw. android.r.id hat man Zugriff viel vordefinierte Layouts und deren Widgets Siehe auch: <android-sdk>/platforms/<android-platform>/data/res/layout 47

48 Widgets & Layouts II Unterstützung verschiedener Auflösungen erfordert: Angabe dieser Auflösungen in AndroidManifest.xml Erstellen von Layout-XML-Dateien für die jeweiligen Auflösungen Bereitstellen von Grafiken in verschiedenen Auflösungen Verwendung von densitiy-independent pixel Werten für absolute Größenangaben 48

49 Allgemeine Parameter I Width und Height - Definieren Breite und Höhe eines Elements Absolute Angabe in dp (density-independent pixel), px (Pixel), pt (Points) Relative Angabe über fill_parent, match_parent oder wrap_content Gravity - Definiert die Ausrichtung von Inhalten eines Elements Beispiele: top, left, center, bottom, fill_vertical Padding - Definiert den Abstand zwischen dem äußeren Rand und dem Inhalt eines Widgets 49

50 Events I Behandlung von UI Events erfolgt über Event Listener Basis-Klasse View definiert Interfaces für verschiedene Listener-Typen - Beispiele: View.OnClickListener View.OnLongClickListener View.OnKeyListener Jedes dieser Interfaces definiert eine Callback-Methode, welche für die Verarbeitung des jeweiligen Events implementiert werden muss 50

51 Events II Beispiel import android.app.activity; public class MyActivity extends Activity implements OnClickListener { protected void oncreate(bundle savedinstancestate) { //... Button b = (Button)findViewById( R.id.button ); b.setonclicklistener( this ); //... } } public void onclick( View v ) { } // Event Handling 51

52 Events III - Alternative Im Layout kann für das Button-Attribut onclick eine Methode der Activity als Callback angegeben werden. Auszug aus main_layout.xml Android Studio ist in der Lage, diese Verknüpfung zu erkennen und markiert Schreibfehler bzw. fehlende Implementierungen. Auszug aus MainActivity 52

53 Intents I Intent = Aktion/Absicht + Daten Intents werden verwendet um Activities zu starten Services zu starten Applikationen zu starten Events zu generieren Asynchron Ziel: Lose Kopplung zwischen den einzelnen Komponenten eines Android-Systems 53

54 Intents II Basisklasse: android.content.intent Explizite Intents: Aufruf einer bestimmten Komponente Beispiel: Eine konkrete Activity einer Anwendung Implizite Intents: Beschreibung von Anforderungen, welche das Ziel erfüllen muss Beispiel: Darstellung einer Webseite Das System ermittelt zur Laufzeit die möglichen Ziele Eine Komponente (z.b. eine Activity) hat Zugriff auf den sie aufrufenden Intent über die Methode getintent() 54

55 Explizite Intents Werden verwendet, um eine konkrete Komponente, z.b. eine andere Activity, zu starten Dazu ist die Angabe der Java-Klasse nötig public class MainActivity extends Activity implements OnClickListener { //... public void onclick( View v ) { Intent i = new Intent( getapplicationcontext(), ActivityTwo.class ); startactivity( i ); } } 55

56 Intents & Daten I Intents enthalten ein Bundle-Objekt Setzen von Key-Value-Paaren möglich Erlaubt das Übermitteln von Daten an die Ziel- Komponenten Methoden: putextra(...) und getextras() public void onclick( View v ) { Intent i = new Intent( this, ActivityTwo.class ); i.putextra( "Value1", "Hello World!" ); startactivity( i ); } 56

57 Intents & Daten II Zweite Activity oncreate-methode protected void oncreate(bundle savedinstancestate) { super.oncreate( savedinstancestate ); Bundle extras = this.getintent().getextras(); if( extras!= null ) { String value = extras.getstring( "value" ); if( value!= null ) { Log.i( LOG_TAG, "Value: " + value ); } } } 57

58 Application Klasse Für jede Android-Anwendung kann eine Application- Klasse erstellt werden. Diese stellt einen Singleton dar, welcher vom System initialisiert wird, sobald eine Komponente der Anwendung gestartet wird. Man kann also sicher sein, dass die Instanz der Application-Klasse existiert. Eignet sich somit sehr gut, um den Zugriff auf Applikationsdaten zentral zu regeln bzw. zu initialisieren Definition erfolgt in der AndroidManifest.xml 58

59 Übung Einen Button hinzufügen der auf neue Activity weiter leitet Eingabe Formular für Kontaktdaten in neuer Activity (Name, Telefon, ) Möglichkeit Ergebnis zu speichern und Ergebnis an aufrufende Activity zurück geben Kontakte in einer Liste anzeigen 59

60 Fragments I Smartphone = 1 Aufgabe pro Screen Tablets > 1 Aufgabe pro Screen Zusammenfassen von UI und Funktionen zur mehrfachen Verwendung und in verschiedenen Activities Werden innerhalb einer Activity dargestellt Können als Sub-Activities betrachtet werden Ähnlicher Lebenszyklus Zugeordnetes Layout Können in den Back-Button Stack eingetragen werden 60

61 Fragmente II Fragment 1 oder 2 Fragment 1 Fragment 2 61

62 Fragments III Basisklasse android.app.fragment Oberklasse java.lang.object (!) Zugeordnetes Bundle-Objekt zur Initialisierung und ein weiteres zur Zustandsicherung Verfügbar für ältere Android-Versionen 62

63 Fragment Life Cycle I oninflate onattach Fragment Start oncreate ondestroy View ondestroy oncreate View ondetach onactivity Created onstart onstop Fragment End onresume onpause Fragment running 63

64 Fragment Life Cycle II Fragment Start Default Konstruktor & Übergabe Init-Bundle oninflate Optional / wenn das Fragment in einem Layout definiert ist, Attribute sichern onattach Verbindung mit Activity hergestellt oncreate Vgl. oncreate von Activity / Keine Interaktion mit anderen Views der Activitiy! oncreateview Erzeugen der View-Hierarchie, NICHT mit dem Container verknüpfen! onactivitycreated oncreate der Activitiy ist abgeschlossen, alle Views verfügbar 64

65 Fragment Life Cycle III onstart Analog zu onstart einer Activity onresume Analog zu onresume einer Activity, danach Interaktion mit User onpause Analog zu onpause einer Activity onsaveinstancestate Sichern des Zustandes in einem Bundle onstop Analog zu onstop einer Activity 65

66 Fragment Life Cylce IV ondestroyview UI wurden aus der Activity entfernt ondestroy Fragment wird nicht mehr verwendet ondetach Fragment wird aus der Activity entfernt setretaininstance (s. gestrichelte Linien) Erlaubt das Cachen von initialisierten Fragmenten Setzen auf true in der oncreate Methode 66

67 Übung Vorherige App auf Fragments umbauen und Master/ Detail-Flow bereitstellen. 67

68 Dateisystem I Android-Geräte besitzen einen internen und externen Speicher Externer Speicher meist SD Karte Jede Anwendung besitzt einen privaten Speicherbereich im internen Speicher und hat Zugriff auf den externen Speicher Dateien im internen Speicher der Anwendung können für andere Anwendungen freigegeben werden Dateien auf dem externen Speicher sind grundsätzlich freigegeben Änderungen an dieser Regelung sind geplant/in der Umsetzung 68

69 Dateisystem II Interner Speicher - Schreiboperation Öffnen einer Datei für Schreiboperationen über openfileoutput(string filename, int mode) der Klasse Context Die Klasse Activity erbt von Context Liefert einen FileOutputStream zurück Erzeugt Datei, sofern diese noch nicht vorhanden ist mode beschreibt die Zugriffsrechte auf die Datei Optionen: MODE_PRIVATE, MODE_APPEND, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE 69

70 Dateisystem III Interner Speicher - Beispiel Schreiboperation FileOutputStream fos = openfileoutput( "internalfile.txt", MODE_PRIVATE ); OutputStreamWriter osw = new OutputStreamWriter( fos ); BufferedWriter writer = new BufferedWriter( osw ); writer.write("this is a test1."); writer.flush(); writer.close(); 70

71 Dateisystem IV Interner Speicher - Leseoperation Öffnen einer Datei für Leseoperationen über openfileinput(string filename) der Klasse Context Liefert einen FileInputStream zurück 71

72 Dateisystem V Interner Speicher - Beispiel Leseoperation FileInputStream fis = openfileinput("internalfile.txt"); InputStreamReader isr = new InputStreamReader( fis ); BufferedReader input = new BufferedReader( isr ); String line; StringBuffer buffer = new StringBuffer(); while ( (line = input.readline())!= null) { buffer.append( line ); } String completeinput = buffer.tostring(); input.cose(); 72

73 Dateisystem VI Externer Speicher Prüfen, ob externer Speicher verfügbar ist über Environment.getExternalStorageMode() Rückgabewerte: MEDIA_MOUNTED, MEDIA_REMOVED, MEDIA_UNMOUNTED,... Zugriff auf das Root-Verzeichnis via Environment.getExternalStorageDirectory() Liefert ein java.io.file Objekt zurück API Doc: android/os/environment.html 73

74 Zustände sichern I Vorübergehende Zustände sichern Hauptsächlich beim Wechsel zwischen Portrait und Landscape Ansicht Dabei wird die Methode onsaveinstancestate(bundle state) aufgerufen Durch Überschreiben dieser Methode können wichtige Informationen gesichert werden Wiederherstellen der Daten kann in der onrestoreinstancestate(bundle state) Methode erfolgen Nicht geeignet für einen kompletten Neustart der Applikation! 74

75 Zustände sichern II Beispiel protected void onsaveinstancestate(bundle state) { super.onsaveinstancestate( state ); } state.putstring( "username", username ); protected void onrestoreinstancestate(bundle state) { super.onrestoreinstancestate( state ); } username = state.getstring( "username" ); 75

76 Zustände sichern III Permanente Zustände sichern Zum Beispiel beim Neustart der Applikation 2 Möglichkeiten: SharedPreferences oder Dateisystem/ Datenbank SharedPreferences für Key-Value-Paare Dateisystem/Datenbank für große Daten 76

77 Zustände sichern IV Beispiel: SharedPreferences protected void onpause() { super.onpause(); } SharedPreferences.Editor editor = getpreferences( Context.MODE_PRIVATE ).edit(); editor.putstring( "username", "Name of User" ); editor.commit(); protected void onresume() { super.onresume(); } SharedPreferences prefs = getpreferences( Context.MODE_PRIVATE ); String username = prefs.getstring( "username", "Default Name" ); 77

78 JSON I JSON = Javascript Object Notation Schlankeres Format als XML, daher gut für mobile Anwendungen geeignet Grundstruktur besteht aus Objekten mit Key-Value Paaren und Arrays Referenz: 78

79 JSON II Objekte Arrays Values 79

80 JSON & Android I Klassen org.json.jsonobject und org.json.jsonarray Initialisierung jeweils mit einem String JSONObject get(string) - Auslesen von Werten zu einem Key, Wert kann ein JSONObject, ein JSON Array oder ein primitiver Wert sein keys() - Liefert einen Iterator über alle Schlüssel 80

81 JSON & Android II JSONArray get(int i) - Liefert den Eintrag an Position i, Wert kann ein JSONObject, ein JSON Array oder ein primitiver Wert sein length() - Liefert die Anzahl der Einträge Beide Klassen bieten set-methoden, um Werte hinzuzufügen bzw. zu ändern 81

82 JSON Bibliotheken Auch wenn Android von Hause aus die Verarbeitung von JSON unterstützt, so gibt es einige Open Source Bibliotheken, welche diese Arbeit einfacher gestalten Jackson: GSON: https://code.google.com/p/google-gson/ Beide Bibliotheken ermöglichen das automatisierte Mapping von Java-Klassen auf JSON-Strings und zurück 82

83 GSON: Mapping Beispiel Anforderungen: Keys im JSON müssen dabei den Member-Namen der Java-Klasse entsprechen. ) - Annotation über Member Die Java-Klassen benötigen einen parameterlosen Konstruktor. 83

84 Übung Kontaktdaten bei Start der App aus JSON-Datei auslesen und in Model Mappen mit GSON Bei Hinzufügen eines neuen Kontaktes Datei im System aktualisieren Optional: Editieren eines Kontaktes 84

85 ActionBar I Eingeführt mit Android 3.0, seit 4.0 auch für Smartphones verfügbar Einheitliches Aussehen und Navigation, Schnellzugriff auf häufig benötigte Aktionen Einer Activity zugeordnet Formen: Standard, Tabs und Liste API für ältere Android Versionen verfügbar https://github.com/jakewharton/actionbarsherlock Android Navigation Guidelines 85

86 ActionBar II 1. App Icon und Anwendungsname 2. View Control (Tabs, Drop Down) 3. Action Buttons 4. Overflow Menu (= klassisches Menü) 86

87 ActionBar III Skaliert auf verschiedene Auflösungen Split Action Bar bei kleinen Screens in vertikaler Position 87

88 ActionBar IV Verfügbarer Platz für Action Buttons "o" : action bar item / "=" : overflow icon. 88

89 Toolbar Schon länger verfügbar Seit Android 5.0 in den Fokus gerückt Toolbar soll ActionBar ablösen Erhöhte Flexibilität und Dynamik im Layout möglich Besser Anpassbar als ActionBar 89

90 Material Design Von Google veröffentlichte Design-Richtlinien (Geräteübergreifend) Erste vollständige Richtlinien seit es Android gibt Basis Design als Material Theme ab Android 5.0 verfügbar Für ältere Geräte durch AppCompat V7 Library verfügbar 90

Einführung in Android. 9. Dezember 2014

Einführung in Android. 9. Dezember 2014 Einführung in Android 9. Dezember 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM ÜBERSICHT Android Android Dalvik Virtuelle Maschine Android und Desktop Applikationen Android Entwicklung Tools R Activity

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Einführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter

Einführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter Einführung in die Android App-Entwicklung Patrick Treyer und Jannis Pinter Agenda Was ist Android? Android Versionen Layout, Strings und das Android Manifest Activities, Intents und Services Entwicklungsumgebung

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016

Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016 Android Apps Mentoring SS 16 Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016 Wichtige Dateien MainActivity.java activity_main.xml AndroidManifest.xml Die Dateien MainActivity.java,

Mehr

Inhaltsverzeichnis. Apps für Android entwickeln

Inhaltsverzeichnis. Apps für Android entwickeln Inhaltsverzeichnis zu Apps für Android entwickeln von Jan Tittel und Jochen Baumann ISBN (Buch): 978-3-446-43191-1 ISBN (E-Book): 978-3-446-43315-1 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43191-1

Mehr

Softwareentwicklungsprozess im Praktikum. 25. April 2013

Softwareentwicklungsprozess im Praktikum. 25. April 2013 Softwareentwicklungsprozess im Praktikum 25. April 2013 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

Mehr

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

Mehr

Android User Interface

Android User Interface Android User Interface Eine Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 2 besprechen (inkl. Repetition)

Mehr

2. GUI-Programmierung für mobile Geräte

2. GUI-Programmierung für mobile Geräte 2. GUI-Programmierung für mobile Geräte Lernziele 2. GUI-Programmierung für mobile Geräte Themen/Lernziele: Einführung Lebenszyklus einer Android-Anwendung Beispiele GUI-Elemente Einbindung externer Ressourcen

Mehr

Mobile Systeme Android 07.04.2011

Mobile Systeme Android 07.04.2011 Mobile Systeme Android 07.04.2011 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer

Mehr

Einführung in Android. 22. Oktober 2014

Einführung in Android. 22. Oktober 2014 Einführung in Android 22. Oktober 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr

2. GUI-Programmierung für mobile Geräte

2. GUI-Programmierung für mobile Geräte 2. GUI-Programmierung für mobile Geräte Lernziele 2. GUI-Programmierung für mobile Geräte Themen/Lernziele: Einführung Lebenszyklus einer Android-Anwendung Beispiele GUI-Elemente Einbindung externer Ressourcen

Mehr

Teil I Augmented Learning - Vortragender: Krischan Udelhoven. Teil II Android - Vortragender: Folker Hoffmann

Teil I Augmented Learning - Vortragender: Krischan Udelhoven. Teil II Android - Vortragender: Folker Hoffmann Teil I Augmented Learning - Vortragender: Krischan Udelhoven Teil II Android - Vortragender: Folker Hoffmann Inhalt 1.Warum Android? 2.Was ist Android? 3.Entwicklung mit Android 18. Januar 2010 Android

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Besprechung der Aufgaben 1) Legen Sie das Android-Projekt HelloWorldApp an so wie es in den vorherigen Folien beschrieben

Mehr

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A D O Z E N T : R E F E R E N T : P R O F. D R. K L I N K E R R I C O L O S C H W I T Z Aufbau der Präsentation

Mehr

Android Entwicklung. App Entwickler Konferenz 2010 Bonn, 17. November Markus Junginger. Twitter: #app2010 @greenrobot_de

Android Entwicklung. App Entwickler Konferenz 2010 Bonn, 17. November Markus Junginger. Twitter: #app2010 @greenrobot_de Android Entwicklung App Entwickler Konferenz 2010 Bonn, 17. November Markus Junginger Twitter: #app2010 @greenrobot_de Über mich Markus Junginger, greenrobot 2007: Erste Android App 2001: Erstes Mobile

Mehr

Matthias Furtmüller, Stefan Haselböck. Android

Matthias Furtmüller, Stefan Haselböck. Android Matthias Furtmüller, Stefan Haselböck Android Grundlagen, Entwicklungsumgebung, wichtige Konzepte und Bibliotheken, Unit Testing unter Android, Simulator, Deployment Inhaltsverzeichnis 1 Entwicklungsumgebung,

Mehr

Android Entwicklung. MobileDevCamp Munich 31.10.2009 Markus Junginger. greenrobot_de

Android Entwicklung. MobileDevCamp Munich 31.10.2009 Markus Junginger. greenrobot_de Android Entwicklung MobileDevCamp Munich 31.10.2009 Markus Junginger greenrobot_de Preis Scanner Apps Über mich Erste Android App: 2007 Erstes Mobile Projekt: 2001 10 Jahre Java & Internet Erfahrung 20

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Organisatorisches Anmelden im Web: ZIV Lehre Anmelden Anwesenheitsliste Anwesenheitsschein bei 75% Anwesenheit Allgemeine

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android XML / Layouts Hochschule Darmstadt WS15/16 1 Inhalt XML Layouts Layouttypen Dimensions View Element Designs Farben Strings 2 XML XML ist eine Meta-Sprache zur Festlegung der

Mehr

Android Processes & Services

Android Processes & Services Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

APPS FÜR ANDROID ENTWICKELN

APPS FÜR ANDROID ENTWICKELN jan TITTEL jochen BAUMANN ELL N H C S IEG T S N I E APPS FÜR ANDROID ENTWICKELN AM BEISPIEL EINER REALEN APP Inhalt 1 Einführung.............................................. 1 1.1 Die Android-Plattform.................................................

Mehr

Android. 2 24.09.2013 Mobile Systeme - Android

Android. 2 24.09.2013 Mobile Systeme - Android Android 24.09.2013 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer speziellen JVM

Mehr

Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook. 14. Januar 2015

Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook. 14. Januar 2015 Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook 14. Januar 2015 Überblick Modell- und Codegenerierung (M2C, C2M) Modellinterpretation vs. Modellübersetzung PIMAR Code-Generierung am Beispiel des

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Entwickeln für Android OS

Entwickeln für Android OS Entwickeln für Android OS Am Beispiel der WAPLA Wissenschaftliche Arbeitstechniken und Präsentation Lern Applikation Christian Kain Kevin Kain Wolfgang Kremser Gregor Bankhamer Warum Android? Verbreitung

Mehr

Einführung in Android (2) 16. Dezember 2014

Einführung in Android (2) 16. Dezember 2014 Einführung in Android (2) 16. Dezember 2014 Überblick Entwicklung der Benutzeroberfläche Views Layouts Menüs Listen und Adapter Einbinden weiterer Ressourcen Aktivierung von Activities Entwicklungsrichtlinien

Mehr

Google Android API. User Interface. Eine knappe Einführung

Google Android API. User Interface. Eine knappe Einführung Google Android API User Interface Eine knappe Einführung Google Android API User Interface Designelement Wofür Klasse/Package View Basisklasse für alle Designelemente public class android.view.view Viewgroup

Mehr

Arno Becker Marcus Pant. Android. Grundlagen und Programmierung. I dpunkt.verlag

Arno Becker Marcus Pant. Android. Grundlagen und Programmierung. I dpunkt.verlag Arno Becker Marcus Pant Android Grundlagen und Programmierung I dpunkt.verlag IX 1 Ein erstes Beispiel 3 1.1 Projekt anlegen 3 1.2 Die erste Activity 4 1.3 Layout definieren 5 1.4 Activities aufrufen 8

Mehr

Software Entwicklung 1. Das Android Framework zur Entwicklung von Apps. Bibliotheken Frameworks. Framework. Annette Bieniusa / Peter Zeller

Software Entwicklung 1. Das Android Framework zur Entwicklung von Apps. Bibliotheken Frameworks. Framework. Annette Bieniusa / Peter Zeller Software Entwicklung 1 Annette Bieniusa / Peter Zeller Das Android Framework zur Entwicklung von Apps AG Softech FB Informatik TU Kaiserslautern Bieniusa/Zeller Software Entwicklung 1 2/ 46 Frameworks

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum ca. 10 Wochen

Mehr

Seminar Multimediale Werkzeuge Sommersemester 2011

Seminar Multimediale Werkzeuge Sommersemester 2011 Seminar Multimediale Werkzeuge Sommersemester 2011 Dipl.-Ing. Marco Niehaus marco.niehaus@tu-ilmenau.de 09.06.2011 Page 1 Android Development - Installation Java SDK wird benötigt (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Mobile App Development. - Grafische Oberflächen 2 -

Mobile App Development. - Grafische Oberflächen 2 - Mobile App Development - Grafische Oberflächen 2 - Inhalt Dimensionen Layouting Menüs Activities starten Übung Dimensionen Dimensionen Analog zu Strings und Farben können Dimensionen definiert werden Dimensionen

Mehr

App Entwicklung mit dem Android SDK

App Entwicklung mit dem Android SDK App Entwicklung mit dem Android SDK Grafische Benutzeroberfläche Dominik Wagner Informatik Sommercamp 2012 23.7.2012 Kurze Übersicht Um ein Layout für eine Android-Anwendung zu definieren schreibt man

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Android - Basics. 16.10.2013 Praktikum Enwicklung von Mediensystemen WS13/14

Android - Basics. 16.10.2013 Praktikum Enwicklung von Mediensystemen WS13/14 Android - Basics 1 Heute Was ist Android? Programmieren für Android App-Struktur Activities und Intents App-Design GUI und Layout 2 Android in a nutshell Open-Source (Open Headset Alliance) Basiert auf

Mehr

4. Software-Komponenten in Android

4. Software-Komponenten in Android 4. Software-Kompponenten in Android Lernziele 4. Software-Komponenten in Android Themen/Lernziele Intents: Explizite und implizite Intents Intent-Filter Intent-Resolution Sub-Activities Broadcast Intents

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

JDroidLib mit Eclipse (Mac/Linux/Windows) JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,

Mehr

Mobile App Development. - Activities -

Mobile App Development. - Activities - Mobile App Development - Activities - Inhalt Activity Lifecycle Erstellen Starten & Stoppen Spezielle Activities Ac3vi3es Ac3vi3es Definition Eine Aktivität repräsentiert eine Interaktion mit einem Benutzer

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia Auf einen Blick Auf einen Blick TEIL I Grundlagen 1 Android eine offene, mobile Plattform... 21 2 Hallo Android!... 43 3 Von der Idee zur Veröffentlichung... 73 TEIL II Elementare Anwendungsbausteine 4

Mehr

Modellierung einer Android-App. 2. Mai 2013

Modellierung einer Android-App. 2. Mai 2013 Modellierung einer Android-App 2. Mai 2013 Taentzer Software-Praktikum 2013 42 Überblick Modellierung der wesentlichen Aspekte Welche Anwendungsfälle haben wir? Übersicht durch Anwendungsfalldiagramme

Mehr

Apps-Entwicklung mit Eclipse

Apps-Entwicklung mit Eclipse JDroid mit Eclipse Seite 1 Apps-Entwicklung mit Eclipse Version 1.1, 30. April 2013 Vorbereitungen: 1. JDK installieren JDK SE neuste Version (64 oder 32 Bit) herunterladen und installieren (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Android Java Specifics / Basic IO

Android Java Specifics / Basic IO Dalvik virtual machine Registermaschine anstelle einer Stackmaschine Optimiert für geringen Speicherverbrauch Umwandlung von.class Dateien in.dex-format mit Hilfe von dx Jedes Programm läuft als eigener

Mehr

Apps-Entwicklung mit Netbeans

Apps-Entwicklung mit Netbeans JDroid mit Netbeans Seite 1 Apps-Entwicklung mit Netbeans Version 2.2, 30. April 2013 Vorbereitungen: 1. JDK SE neuste Version installieren, (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Einführung in Android

Einführung in Android Einführung in Android FH Gießen Friedberg 12. Oktober 2010 Inhalt Historie / Prognosen / Trends Grundlagen Entwicklungsumgebung Standardbeispiel Erweitertes Beispiel Übung / Quellen 2 Grundlagen - Historie

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

App Entwicklung für Android Devices

App Entwicklung für Android Devices App Entwicklung Wahlpflichtkurs: Dozent: Referent: Fortgeschrittene Programmierung in Java Prof. Dr. Klinker Sebastian Fox 30.10.2011, Seite 1 Praktische Anwendung von Java Programmierung Java Applets

Mehr

Softwarentwicklung für Android

Softwarentwicklung für Android Softwarentwicklung für Android Fachseminar Wintersemester 2008/09 Matrikelnummer.: 253631-1 - Inhaltsverzeichnis 1 Vorwort... 3 2 Vorraussetzungen zum Entwickeln von Android Anwendungen... 4 2.1 Standard

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

1 Der Einstieg in Java für Android

1 Der Einstieg in Java für Android 1 1 Der Einstieg in Java für Android Diese Ergänzung zum Buch Programmieren in Java will Ihnen dabei helfen, erste Programme für Smartphones der Android Plattform von Google zu erstellen und diese Programme

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Entwicklungswerkzeuge & - methoden

Entwicklungswerkzeuge & - methoden Entwicklungswerkzeuge & - methoden Debugging und Logging von mobile Apps Jürgen Menge Sales Consultant, Oracle Deutschland E-Mail: juergen.menge@oracle.com +++ Bitte nutzen Sie die bevorzugte Telefonnummer

Mehr

Naviki GPS-Anwendungsentwicklung für Mobiltelefone www.naviki.org

Naviki GPS-Anwendungsentwicklung für Mobiltelefone www.naviki.org Naviki GPS-Anwendungsentwicklung für Mobiltelefone www.naviki.org Fachhochschule Münster Labor für Software Engineering luzar@fh-muenster.de www.naviki.org 1 Naviki die Idee www.naviki.org 2 Wie funktioniert

Mehr

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Cross-Platform Mobile Apps

Cross-Platform Mobile Apps Cross-Platform Mobile Apps 05. Juni 2013 Martin Wittemann Master of Science (2009) Arbeitet bei 1&1 Internet AG Head of Frameworks & Tooling Tech Lead von qooxdoo Plattformen Java ME 12 % Rest 7 % Android

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Das neue Android Build System

Das neue Android Build System Das neue Android Build System Besser Builden mit Gradle JUGS Event, 18. Juni 2015 Kaspar von Gunten, Ergon Informatik AG whois( kvg ) Software-Engineering seit 2002 Entwicklung in Java (Client/Server,

Mehr

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt

Mehr

Erste Erfahrungen mit Android

Erste Erfahrungen mit Android Java User Group München, 22. 9. 2008 Erste Erfahrungen mit Android 1 Was ist Android? Die erste vollständige, offene und freie Plattform für mobile Telefone Entwickelt von der Open Handset Alliance (Telecoms,

Mehr

Android-Apps weitere Möglichkeiten

Android-Apps weitere Möglichkeiten Android-Apps weitere Möglichkeiten 2/20 weitere Möglichkeiten Speichern in der Sandbox OnTouchListener Senden und Empfangen von SMS Anbindung von Datenbanken Der Beschleunigungssensor Übung 3/20 Speichern

Mehr

Android 2. Grundlagen und Programmierung. dpunkt.verlag. Arno Becker Marcus Pant. 2., aktualisierte und erweiterte Auflage

Android 2. Grundlagen und Programmierung. dpunkt.verlag. Arno Becker Marcus Pant. 2., aktualisierte und erweiterte Auflage Arno Becker Marcus Pant Android 2 Grundlagen und Programmierung 2., aktualisierte und erweiterte Auflage Unter Mitarbeit von David Müller dpunkt.verlag IX I Inhaltsverzeichnis I Einführung 1 1 Ein erstes

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum 10 Wochen

Mehr

Android 5. Programmieren für Smartphones und Tablets - Grundlagen und fortgeschrittene Techniken. von Arno Becker, Marcus Pant. 4., akt. u. erw.

Android 5. Programmieren für Smartphones und Tablets - Grundlagen und fortgeschrittene Techniken. von Arno Becker, Marcus Pant. 4., akt. u. erw. Android 5 Programmieren für Smartphones und Tablets - Grundlagen und fortgeschrittene Techniken von Arno Becker, Marcus Pant 4., akt. u. erw. Aufl dpunkt.verlag 2015 Verlag C.H. Beck im Internet: www.beck.de

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Menüs & Fragments Hochschule Darmstadt WS15/16 1 Inhalt Arten von Menüs Implementierung und Nutzung von Menüs Was sind Fragments? Implementierung von Fragments Kommunikation

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt 14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Intents (Wiederholung I) Ein Intent erklärt die Absicht eine bestimmte Activity auszuführen Explizit durch Angabe einer

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

- dynamisches Laden -

- dynamisches Laden - - - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Thomas Künneth. Android 3. Apps entwickeln mit dem Android SDK. Galileo Press

Thomas Künneth. Android 3. Apps entwickeln mit dem Android SDK. Galileo Press Thomas Künneth Android 3 Apps entwickeln mit dem Android SDK Galileo Press Vorwort 13 TEIL I Grundlagen 1.1 Entstehung 19 1.1.1 Die Open Handset Alliance, 20 1.1.2 Android Ine 20 1.1.3 Evolution einer

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer

Mehr

Christian Meder inovex. Sauberes Grün QS für Android

Christian Meder inovex. Sauberes Grün QS für Android Konferenz Christian Meder inovex Sauberes Grün QS für Android Sauberes Grün: QS für Android W-JAX, 2011 Christian Meder inovex GmbH Chief Technology Officer 09.11.2011 1 Speaker Christian Meder Schwerpunkte

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Dokumentation: Erstellung einer Content App für Windows 8

Dokumentation: Erstellung einer Content App für Windows 8 Dokumentation: Erstellung einer Content App für Windows 8 Andreas Breuninger, medialesson GmbH Januar 2013 Inhaltsverzeichnis 1. Einführung... 3 2. Vorbereitungen... 3 2.1. Content.xml... 3 2.2. Bilder...

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Fork Leitfaden. BibApp Android

Fork Leitfaden. BibApp Android Fork Leitfaden BibApp Android letzte Aktualisierung: 24. April 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 2 2 Eclipse Projekt 2 3 Abhängigkeiten 2 4 Konfiguration 3 4.0.1 Paketname...............................

Mehr

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ AK Medientechnologien Hello World Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Demo-Applikation: Hello World Rückblick auf einzelne Schritte Entwicklungswerkzeuge

Mehr

COPPER Best Practices

COPPER Best Practices COPPER Best Practices Version 1.0.1 Wann sollte man überhaupt COPPER verwenden? Allgemein genau dann, wenn man von der COPPER Notation oder den COPPER-Features profitieren kann. Ein wesentliches Feature

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Inhalt Toast-Meldungen Permissions Sensoren GPS (Global Positioning System) Kamera Anzeigen von Koordinaten auf einer

Mehr

Automatische Modellierung des Lebenszyklus von Android-Anwendungen

Automatische Modellierung des Lebenszyklus von Android-Anwendungen Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen Prof. Dr.-Ing. Gregor Snelting Diplomarbeit an der Fakultät für Informatik Automatische Modellierung des Lebenszyklus

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

Mehr