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

Ü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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

Android Einführung Fragments Android Kurs Stufe 2 (Orangegurt)

Android Einführung Fragments Android Kurs Stufe 2 (Orangegurt) Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Fragments... 2 2 Der Life Cycle eines Fragments... 2 3 Die Supportlibrary oder das Problem mit der Version... 3 4 Aufbau der Layouts... 4 5 OnClickListener...

Mehr

Tutorial. Programmierung einer Android-Applikation. Teil 1

Tutorial. Programmierung einer Android-Applikation. Teil 1 Tutorial Programmierung einer Android-Applikation Teil 1 Autor: Oliver Matle Datum: März 2014, Version 1.0 Autor: Oliver Matle, www.matletarium.de Seite 1 von 28 Inhaltsverzeichnis Kapitel 1 Einleitung...3

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

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

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

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

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

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

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

Entwickeln einer eigenen App

Entwickeln einer eigenen App Entwickeln einer eigenen App Nicht nur auf der Hardware Seite unseres Android-zu-Seriell Wandlers sollte alles so einfach wie möglich sein, sondern auch auf der Software Seite. Da der Tunnel durch ADB

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

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

Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems

Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Android Persistenz Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 3 besprechen (inkl. Repetition) Die wichtigsten

Mehr

LaVida. Mobile Endgeräte. Andreas Neupert

LaVida. Mobile Endgeräte. Andreas Neupert LaVida Mobile Endgeräte Andreas Neupert Einleitung 1 33 Was? 1) Android a. Hardware b. Entwickeln i. Tools ii. Architektur & Konzepte iii. Google App Inventor c. Benutzen versus 2) WP 7 a. Hardware b.

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

Informatik Sommercamp 2012

Informatik Sommercamp 2012 Informatik Sommercamp 2012 App Entwicklung mit dem Android SDK Dominik W., Stefan S., Jan L. Fakultät für Informatik und Mathematik Universität Passau 23.07.2012 Gliederung 1 2 3 4 Warum? an Schule und

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

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Java - Programmierung für Android. Leibniz Universität IT Services Anja Aue

Java - Programmierung für Android. Leibniz Universität IT Services Anja Aue Java - Programmierung für Android Leibniz Universität IT Services Anja Aue Bücher Dirk Luis / Peter Müller: Android Thomas Künneth: Android 5: Apps entwickeln mit Android Studio Dawn Griffiths, David Griffiths:

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

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

2. Auflage. Behandelt Android 4.3. O Reillys Taschenbibliothek. Android. Programmierung. kurz & gut O REILLY. Jörg Staudemeyer

2. Auflage. Behandelt Android 4.3. O Reillys Taschenbibliothek. Android. Programmierung. kurz & gut O REILLY. Jörg Staudemeyer O Reillys Taschenbibliothek 2. Auflage Behandelt Android 4.3 Android Programmierung kurz & gut O REILLY Jörg Staudemeyer Glossar Wenn man beginnt, sich mit der Anwendungsentwicklung unter Android zu beschäftigen,

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

App-Entwicklung mit Android - Teil 2

App-Entwicklung mit Android - Teil 2 Entwicklungsumgebung Android Studio App-Entwicklung mit Android - Teil 2 Aktuell ist Android Studio die offizielle Entwicklungsumgebung für Android Apps und löst die bisher verwendete Lösung von Eclipse

Mehr

Java Desktop Anwendungen

Java Desktop Anwendungen 5 1 Java Desktop Anwendungen das Problem: Desktop-Anwendungen werden mit Hilfe der Swing- Bibliothek programmiert, aber die Swing-Bibliothek ist riesig und unübersichtlich es gab kein Programmiergerüst

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Praktikum Software Engineering

Praktikum Software Engineering Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

Programmierung mobiler Geräte

Programmierung mobiler Geräte Programmierung mobiler Geräte SoSe 2015 Native Entwicklung mit Android Einführung Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik http://mmberg.net

Mehr

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014 Mobility mit IBM Worklight Erste Schritte zu einer mobilen App Benjamin Stein, Consultant Stuttgart, 03.04.2014 Agenda Was ist IBM Worklight eigentlich? Hintergrund und Idee, Architektur und Bestandteile

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung 1. Begriffe Objektorientierte Programmierung mit C++ Prozedurale Programmierung Sprachen: C, Pascal, Cobol, Basic,... Objektorientierte Programmierung Sprachen: C++, C#, Java... Methode: - Gesamtproblem

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

Mobile App Development

Mobile App Development 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

Auffrischung jquery. jquery Mobile. Marco Francke I 24.02.2011

Auffrischung jquery. jquery Mobile. Marco Francke I 24.02.2011 Auffrischung jquery jquery Mobile Marco Francke I 24.02.2011 Mayflower GmbH 2010 write less do more Marco Francke 24. Februar 2011 24.02.11 Mayflower GmbH 2 Mayflower GmbH 2010 Was ist jquery und was kann

Mehr

Praktische Anwendungsentwicklung mit Oracle Forms

Praktische Anwendungsentwicklung mit Oracle Forms Praktische Anwendungsentwicklung mit Oracle Forms von Perry Pakull, Stefan Jüssen, Walter H. Müller 1. Auflage Hanser München 2007 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41098 5 Zu Leseprobe

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Android Settings Dialog Android Kurs Stufe 2 (Orangegurt)

Android Settings Dialog Android Kurs Stufe 2 (Orangegurt) Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Settings Dialog... 2 2 Der Grundgedanke... 2 3 Das erste Beispiel... 3 3.1 Das Layout der MainActivity... 3 3.2 Die Settings Activity... 3 3.3 Das

Mehr

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

Überleben im Funkloch

Überleben im Funkloch Überleben im Funkloch Offlinefähige Apps für Android entwickeln Christian Janz (@c_janz ) christian.janz@bridging-it.de Christian Janz Consultant im Bereich Softwareentwicklung Java/JEE bei Bridging IT

Mehr

Mit Cloud Power werden Sie zum

Mit Cloud Power werden Sie zum Mit Cloud Power werden Sie zum Herzlich Willkommen! Christian Hassa Managing Partner TechTalk Software AG Agenda Mobile App Development mit Xamarin Pause Azure Mobile Services Q&A 9h00-10h30 10h30-10h50

Mehr

1 Ein erstes Beispiel

1 Ein erstes Beispiel 3 1 Ein erstes Beispiel In diesem Abschnitt werden wir ein erstes Android-Programm erstellen. Es dient dem schnellen Einstieg in die Programmierung von Android. Dabei handelt es sich um ein Programm zur

Mehr

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung

Allgemeines. Architektur der Anwendung. Server starten. Anmeldung Allgemeines Architektur der Anwendung Grundsätzlich führen viele Wege nach Rom bzw. es gibt nicht den einen Weg, wie die gestellte Aufgabe mit Magnolia gelöst werden muss. Es wäre problemlos möglich, eine

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

Android. LUG-LD Christoph Maya 2011 http://demaya.de. Lizenz: http://creativecommons.org/licenses/by-nc/3.0/de/

Android. LUG-LD Christoph Maya 2011 http://demaya.de. Lizenz: http://creativecommons.org/licenses/by-nc/3.0/de/ Android LUG-LD Christoph Maya 2011 http://demaya.de Lizenz: http://creativecommons.org/licenses/by-nc/3.0/de/ Inhalt Inhalt: ein Mix für Einsteiger und Fortgeschrittene Was ist Android und wo kommts her?

Mehr

Eclipse User Interface Guidelines

Eclipse User Interface Guidelines SS 2009 Softwarequalität 06.05.2009 C. M. Bopda, S. Vaupel {kaymic/vaupel84}@mathematik.uni-marburg.de Motivation (Problem) Motivation (Problem) Eclipse is a universal tool platform - an open, extensible

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Java Batch Der Standard für's Stapeln

Java Batch Der Standard für's Stapeln Java Batch Der Standard für's Stapeln Berlin Expert Days 18.09.2015 Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption und Realisierung von IT-Lösungen GEDOPLAN

Mehr

Ant in Eclipse Starthilfe

Ant in Eclipse Starthilfe IN DIESER KURSEINHEIT Einleitung o Um was geht's eigentlich? Hello World o Das Ant Skript Mehrere Targets und Properties o Hello World Ausgabe Ant Launch Configurations o Definition o Modifikation o Nutzung

Mehr

Gerd Wütherich Nils Hartmann. OSGi Service Platform by example

Gerd Wütherich Nils Hartmann. OSGi Service Platform by example Gerd Wütherich Nils Hartmann OSGi Service Platform by example Die OSGi Service Platform Das Buch» Detaillierte Einführung in OSGi-Technologie» April 2008, dpunkt.verlag» ISBN 978-3-89864-457-0» Website:

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr