Mobile App Development - Grafische Oberflächen 2 -

Größe: px
Ab Seite anzeigen:

Download "Mobile App Development - Grafische Oberflächen 2 -"

Transkript

1 Mobile App Development - Grafische Oberflächen 2 -

2 Inhalt Dimensionen Layouting Menüs Activities starten Übung

3 Dimensionen

4 Dimensionen Analog zu Strings und Farben können Dimensionen definiert werden Dimensionen sind Zahlen gefolgt von einer Einheit

5 Dimensionen Analog zu Strings und Farben können Dimensionen definiert werden Dimensionen sind Zahlen gefolgt von einer Einheit res/values/dimens.xml <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="testdim">35pt</dimen> <dimen name="testdim2">35dp</dimen> </resources>

6 Dimensionen Pixel (px) entsprechen den tatsächlichen Pixeln auf dem Endgerät Verwendung wird nicht empfohlen, da die Darstellung von der Pixeldichte des Endgerätes abhängt

7 Dimensionen Pixel (px) Beispiel <Button android:width="320px" /> 320 dpi 160 dpi

8 Dimensionen Pixel (px) Beispiel <Button android:width="320px" /> 320 dpi 160 dpi

9 Dimensionen Pixel (px) Beispiel <Button android:width="320px" /> 320 dpi 160 dpi

10 Dimensionen Pixel (px) Beispiel <Button android:width="320px" /> 320 dpi 160 dpi

11 Dimensionen Pixel (px) Beispiel <Button android:width="320px" /> 2,54 cm 320 dpi 160 dpi

12 Dimensionen Pixel (px) Beispiel <Button android:width="320px" /> 2,54 cm 320 dpi 160 dpi

13 Dimensionen Pixel (px) Beispiel <Button android:width="320px" /> 2,54 cm 5,08 cm 320 dpi 160 dpi

14 Dimensionen Density Independent Pixels (dp, dip) unabhängig von der Auflösung des Displays 1dp = 1px (bei 160dpi) 1px = 1dp * (Auflösung / 160)

15 Dimensionen Scale Independent Pixels (sp) das gleiche wie dp zusätzlich abhängig von der Schriftgröße- Einstellung des Benutzers

16 Dimensionen Pixeldichte-unabhängige Einheiten Point (pt) ein Point entspricht 1/72 Zoll Millimeter (mm) Inch (in)

17 Dimensionen Definition: Dimensionen werden analog zu Farben und Strings in einer Resourcen- Datei abgelegt (dimens.xml) Beispiel: <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="mytextsize">60sp</dimen> <dimen name="mywidth">25dp</dimen> <dimen name="myborder">16px</dimen> <dimen name="myfontsize">23pt</dimen> <dimen name="mymargin">5mm</dimen> <dimen name="myspace">17in</dimen> </resources>

18 Dimensionen Verwendung in XML res/values/dimens.xml <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="mytextsize">60sp</dimen> </resources> res/layout/myactivity.xml <LinearLayout xmlns:android="..." xmlns:tools="..." android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

19 Dimensionen Verwendung in XML res/values/dimens.xml <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="mytextsize">60sp</dimen> </resources> res/layout/myactivity.xml <LinearLayout xmlns:android="..." xmlns:tools="..." android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

20 Dimensionen Verwendung in XML res/values/dimens.xml <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="mytextsize">60sp</dimen> </resources> res/layout/myactivity.xml <LinearLayout xmlns:android="..." xmlns:tools="..." android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

21 Dimensionen programmatische Verwendung res/values/dimens.xml <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="mytextsize">60sp</dimen> </resources> public class MainActivity extends Activity public void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);!! setcontentview(r.layout.activity_main);!!!!!! float dim = getresources().getdimension(r.dimen.mytextsize);! }!... }

22 Dimensionen programmatische Verwendung res/values/dimens.xml <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="mytextsize">60sp</dimen> </resources> public class MainActivity extends Activity public void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);!! setcontentview(r.layout.activity_main);!!!!!! float dim = getresources().getdimension(r.dimen.mytextsize);! }!... }

23 Dimensionen programmatische Verwendung res/values/dimens.xml <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="mytextsize">60sp</dimen> </resources> public class MainActivity extends Activity public void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);!! setcontentview(r.layout.activity_main);!!!!!! float dim = getresources().getdimension(r.dimen.mytextsize);! }!... }

24 Layou6ng

25 Layou6ng Problemstellung verschiedene Display-Größen verschiedene Auflösungen verschiedene Orientierungen

26 Layou6ng Beispiel Orientierung

27 Layou6ng Beispiel Orientierung Was fällt auf??

28 Layou6ng Wie wäre es mit verschiedenen Layouts?

29 Layou6ng Und was ist mit Display-... Auflösung Größe Format Bildquelle:

30 Layou6ng Android ermöglicht die Erstellung von Layouts für verschiedene Display- Konfigurationen Unterscheidbare Eigenschaften Größe Orientierung Pixeldichte

31 Layou6ng Mögliche Displaygrößen klein (ca. 2-3,5 Zoll) normal (3,2-4 Zoll) groß (4-7 Zoll) sehr groß (7-10 Zoll) Bildquelle:

32 Layou6ng Definition von Layouts für verschiedene Display-Größen Je Display-Größe wird ein Layout-Ordner angelegt layout-small layout-normal layout-large layout-xlarge

33 Layou6ng Das Layout kann für die verschiedenen Größen verschieden definiert werden Achtung: Die Layout-Datei muss in jedem Ordner den gleichen Name haben

34 Layou6ng Es kann, muss aber nicht, für jede Größe eine Layout-Datei angelegt werden Android wählt bei Fehlen eines Layouts für eine bestimmte Größe ein anderes aus

35 Layou6ng Wie werden die verschiedenen Layouts der Activity zugewiesen?

36 Layou6ng Wie werden die verschiedenen Layouts der Activity zugewiesen? public class MainActivity extends Activity public void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);! } /*... alles bleibt beim alten Android entscheidet */ setcontentview(r.layout.activity_main);!... }

37 Layou6ng Ist es möglich in der einen Layout- Definition andere Views zu definieren, als in einer anderen?

38 Layou6ng Name Vorname Name Vorname Straße Hausnummer

39 Layou6ng Ist es möglich in der einen Layout- Definition andere Views zu definieren, als in einer anderen? Name Vorname Name Vorname Straße Hausnummer

40 Layou6ng

41 Layou6ng Ist es möglich in der einen Layout- Definition andere Views zu definieren, als in einer anderen? Ja, es ist möglich! Es ist zu beachten, dass in der Activity dann Fallunterscheidungen vorgenommen werden müssen

42 Layou6ng Fallunterscheidung Display-Größe Configuration conf = getresources().getconfiguration(); switch (conf.screenlayout & Configuration.SCREENLAYOUT_SIZE_MASK) {! case Configuration.SCREENLAYOUT_SIZE_SMALL: { /* do your small stuff */!!!! break;! }! case Configuration.SCREENLAYOUT_SIZE_NORMAL: {! /* do your normal stuff */!!!! break;! }! case Configuration.SCREENLAYOUT_SIZE_LARGE: {! /* do your large stuff */!!! break;! }! default : {! /* do your unknown stuff */!!!! break;! } }

43 Layou6ng Display-Größe ab Android 3.2 Problem: generalisierte Größenklassen führen zu Problemen 5 und 7 würden in gleiche Klasse fallen

44 Layou6ng Ab Android 3.2 werden neue Qualifier für die Display-Größe verwendet smallestwidth screenwidth screenheight Sie geben die minimale Breite/Höhe an, die für das Layout benötigt wird

45 Layou6ng smallestwidth gibt die minimale Breite bzw. Höhe in dp an, die das Layout benötigt unabhängig von der Orientierung, d.h. es wird sowohl in horizontaler als auch vertikaler Orientierung diese Breite/ Höhe benötigt

46 Layou6ng smallestwidth Layout Anlegen eines Ordners layout-sw<n>dp <N> steht für die minimal Größe in dp, die horizontal und vertikal benötigt wird (hier: 320dp)

47 Layou6ng screen width gibt die minimale Breite an, die das Layout benötigt abhängig von der Orientierung, da sich die Breite ändert, wenn das Gerät gedreht wird

48 Layou6ng screen width Layout Anlegen eines Ordners layout-w<n>dp <N> steht für die minimale Breite in dp, die benötigt wird (hier: 240dp)

49 Layou6ng screen height gibt die minimale Höhe an, die das Layout benötigt abhängig von der Orientierung, da sich die Höhe ändert, wenn das Gerät gedreht wird

50 Layou6ng screen height Layout Anlegen eines Ordners layout-h<n>dp <N> steht für die minimale Höhe in dp, die benötigt wird (hier: 480dp)

51 Layou6ng Orientierung Android unterscheidet 2 Qualifier Portrait (port) Landscape (land)

52 Layou6ng Layouts für Orientierungen anlegen gleiches Vorgehen wie bei Display-Größen je Orientierung wird ein Ordner angelegt für jede Orientierung wird ein Layout angelegt

53 Layou6ng Fallunterscheidung Orientierung Configuration conf = getresources().getconfiguration(); switch (conf.orientation) {! case Configuration.ORIENTATION_PORTRAIT: {!! /* do your portrait stuff */!! Log.d("TAG", "orientation: portrait");!! break;! }! case Configuration.ORIENTATION_LANDSCAPE: {!! /* do your landscape stuff */!! Log.d("TAG", "orientation: landscape");!! break;! }! default : {!! Log.d("TAG", "orientation: unspecified");!! break;! } }

54 Layou6ng Layouts für verschiedene Auflösung Android unterscheidet 4 Qualifier ldpi, mdpi, hdpi, xhdpi Bildquelle:

55 Layou6ng Layouts für verschiedene Auflösungen definieren Analog zu Display-Größe und Orientierung werden Ordner für die einzelnen Auflösungen angelegt

56 Layou6ng Fallunterscheidung Auflösung /* create a DisplayMetrics object */ DisplayMetrics metrics = new DisplayMetrics(); /* requesting metrics from default display */ getwindowmanager().getdefaultdisplay().getmetrics(metrics); /* switch density */ switch (metrics.densitydpi) { case DisplayMetrics.DENSITY_LOW: { /* do your low stuff */ break;! }! case DisplayMetrics.DENSITY_MEDIUM: { /* do your medium stuff */ break; } case DisplayMetrics.DENSITY_HIGH: { /* do your high stuff */ break; } case DisplayMetrics.DENSITY_XHIGH: { /* do your extra high stuff */ break; } }

57 Layou6ng Wie definiert man ein Layout für einen small Screen mit mittlerer Auflösung?

58 Layou6ng Die Qualifier für Größe, Orientierung usw. können kombiniert werden Die Reihenfolge der Qualifier ist nicht beliebig! siehe dazu: resources/providingresources.html#qualifierrules

59 Layou6ng Neben Größe, Orientierung und Auflösung existieren noch weitere Qualifier Sprache/Region: de-rde, en-rus Aspect Ratio: long, not long Night mode: night, notnight weitere Qualifier unter: providing-resources.html#alternativeresources

60 Menüs

61 Menüs Menüs werden verwendet, um dem Benutzer Aktionen und Optionen in einem bestimmten Kontext anzuzeigen

62 Menüs Unterscheidung zwischen Optionsmenüs Kontextmenüs Popup-Menüs

63 Menu erstellen Anlegen einer neuen Menü XML Datei im Ordner res/menu

64 Menu erstellen Anlegen einer neuen Menü XML Datei im Ordner res/menu

65 Menüs erstellen das Menü erstellen <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="..." > <item <item <item android:checkable="true" </menu>

66 Menüs erstellen das Menü erstellen höchstens 6 Items dargestellt bei mehr Items weiteres Popup

67 Menüs erstellen Untermenüs <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="..." > <item <menu> <item <item </menu> </item>!... </menu>

68 Menüs erstellen Für jedes angelegte Menü wird ein gleichnamiger Eintrag in der R.java angelegt public final class R {... public static final class menu { public static final int activity_main=0x7f060000; public static final int second_menu=0x7f060001; }... }

69 Menüs erstellen Für jedes angelegte Menü wird ein gleichnamiger Eintrag in der R.java angelegt public final class R {... public static final class menu { public static final int activity_main=0x7f060000; public static final int second_menu=0x7f060001; }... }

70 Menüs erstellen Für jedes angelegte Menü wird ein gleichnamiger Eintrag in der R.java angelegt public final class R {... public static final class menu { public static final int activity_main=0x7f060000; public static final int second_menu=0x7f060001; }... }

71 Menüs erstellen Für jedes angelegte Menü wird ein gleichnamiger Eintrag in der R.java angelegt public final class R {... public static final class menu { public static final int activity_main=0x7f060000; public static final int second_menu=0x7f060001; }... }

72 Op6onsmenüs Verwendung als Optionsmenü Optionsmenüs werden verwendet, um dem Benutzer im Kontext der aktuellen Activity Optionen und Aktionen zu Verfügung zu stellen

73 Op6onsmenüs Menü als Optionsmenü verwenden public class MainActivity extends Activity public void oncreate(bundle savedinstancestate) {... } } /* wird von der Activity aufgerufen, um das Menü zu erstellen public boolean oncreateoptionsmenu(menu menu) { /* MenuInflater wird verwendet, um aus der XML Menü * Beschreibung Java Objekte zu erzeugen */ MenuInflater inflater = getmenuinflater(); /* Erstellen des Menüs aus der XML Ressource unter Angabe der * Menü ID */ inflater.inflate(r.menu.activity_main, menu); /* true gibt an, dass das Menü angezeigt werden soll */ return true; }

74 Op6onsmenüs Auf Menü-Klicks reagieren /* wird aufgerufen, wenn ein Menüeintrag ausgewählt wurde public boolean onoptionsitemselected(menuitem item) {! /* item.getitemid() gibt die ID des geklickten Menüeintrags zurück */! switch (item.getitemid()) {!! case R.id.menu_new_file: {!!! /* neue Datei erstellen */!!! return true;!! }!! case R.id.menu_new_folder: {!!! /* neuen Ordner erstellen */!!! return true;!! }!! default:!!! /* Oberklassen Implementierung bahandelt Klick */!!! return super.onoptionsitemselected(item);!! } }

75 Kontextmenüs Das Menü als Kontextmenü verwenden Kontextmenüs werden verwendet, um dem Benutzer im Kontext einer bestimmten View ein Menü zur Verfügung zu stellen

76 Kontextmenüs Das Menü als Kontextmenü verwenden public class MainActivity extends Activity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); /* Referenz für die View holen, die das Kontextmenü bekommt */ TextView tv = (TextView) findviewbyid(r.id.mytextview); /* View für Kontextmenü registrieren */ registerforcontextmenu(tv); } /* wird aufgerufen, wenn das Kontextmenü erzeugt wird public void oncreatecontextmenu(contextmenu menu, View v,!! ContextMenuInfo menuinfo) { /* Inflater wird verwendet, um aus XML Java Objekte zu erzeugen */ MenuInflater inflater = getmenuinflater(); /* Erstellen des Menüs aus der XML Ressource unter Angabe der Menü ID */ inflater.inflate(r.menu.activity_main, menu); } }

77 Kontextmenüs Auf Klicks im Kontextmenü verwenden public class MainActivity extends Activity { public void oncreate(bundle savedinstancestate) { /* Kontextmenü registrieren */ } /* wird aufgerufen, wenn das Kontextmenü erzeugt wird */ public void oncreatecontextmenu(...) {! /* Kontextmenü erstellen */ } /* wird aufgerufen, wenn ein Kontextmenüeintrag ausgewählt wurde public boolean oncontextitemselected(menuitem item) {! /* item.getitemid() gibt die ID des geklickten Menüeintrags zurück */! switch (item.getitemid()) {!! case R.id.menu_new_file:!!! /* neue Datei erstellen */ return true;!! case R.id.menu_new_folder:!!! /* neuen Ordner erstellen */ return true;!! default:!!! /* Oberklassen behandelt Klick */!!! return super.oncontextitemselected(item);! } } }

78 Popup- Menüs Das Menü als Popup-Menü verwenden Popup-Menüs werden verwendet, um im Kontext einer Aktion weitere Optionen zur Verfügung zu stellen Popup-Menüs stehen ab API- Level 11 zur Verfügung

79 Popup- Menüs Das Menü als Popup-Menü verwenden Beispiel: Bei Drücken des Buttons soll ein Popup-Menü erscheinen

80 Popup- Menüs Das Menü als Popup-Menü verwenden <Button android:onclick="mypopupbuttonclick" /> public class MainActivity extends Activity { } /* Methode, die bei Button-Klick aufgerufen wird */ public void mypopupbuttonclick(view view) { /* Erzeugen eines neuen Popup-Menüs */ PopupMenu popup = new PopupMenu(this, view); /* menuinflater-referenz vom Popup holen */ MenuInflater inflater = popup.getmenuinflater(); /* Menü aus XML erstellen */ inflater.inflate(r.menu.activity_main, popup.getmenu()); /* Popup anzeigen */ popup.show(); }

81 Popup- Menüs Auf Klicks im Popup-Menü reagieren /* Methode, die bei Button-Klick aufgerufen wird */ public void mypopupbuttonclick(view view) { PopupMenu popup = new PopupMenu(this, view); MenuInflater inflater = popup.getmenuinflater(); inflater.inflate(r.menu.activity_main, popup.getmenu()); /* click listener für das Popup setzen */ popup.setonmenuitemclicklistener( new PopupMenu.OnMenuItemClickListener() {! /* wird aufgerufen, wenn ein Menüeintrag geklickt wurde public boolean onmenuitemclick(menuitem item) {!!!! /* switch über die MenuItem ID*/!!!! switch (item.getitemid()) {!!!!! case R.id.menu_new_file: /* todo */ return true;!!!!! case R.id.menu_new_folder: /* todo */ return true;!!!!! default: return false;!!!! }!!! } }); popup.show(); }

82 Ac6onBar

83 Ac6onBar seit Android 3.0 kein Hardware Menü- Button mehr notwendig Einführung der ActionBar API Level 11 + Theme.Holo

84 Ac6onBar Die ActionBar füllen gleiches Vorgehen, wie bei Optionsmenüs Erstellen einer Menu-Datei res/menu/my_menu.xml <menu xmlns:android=" > <item <item <item </menu>

85 Ac6onBar Die ActionBar füllen Das Menü aus XML erstellen public class MainActivity extends Activity public boolean oncreateoptionsmenu(menu menu) { /* Aus XML das Menü erstellen */ MenuInflater inflater = getmenuinflater(); inflater.inflate(r.menu.activity_main, menu); /* super call */ return super.oncreateoptionsmenu(menu); }... }

86 Ac6onBar Auf ActionBar Klicks reagieren public class MainActivity extends Activity public boolean onoptionsitemselected(menuitem item) {! /* switch über die MenuItem ID */! switch (item.getitemid()) {!! case R.id.menu_new: {!!! /*... todo... */ return true;!! }!! case R.id.menu_delete: {!!! /*... todo... */ return true;!! }!! default: {!!! /* super Impl behandelt den Klick */!!! return super.onoptionsitemselected(item);!! }! } } }

87 Ac6onBar ActionBar Menü-Einträge anpassen showasaction gibt an, wie das Menüelment in der ActionBar angezeigt wird (API Level 11!) <menu xmlns:android=" > <item android:showasaction="always" /> </menu>

88 Ac6onBar ActionBar Menü-Einträge anpassen showasaction Werte always: Element wird immer angezeigt ifroom: Element wird nur angezeigt, wenn genügend Platz ist never: Element wird immer im Overflow angezeigt

89 Prak6kum

90 Prak6kum Übung 02: Erweiterung Taschenrechner Die Taschenrechner-App aus der letzten Übung soll erweitert werden. Über einen Menüeintrag Weitere sollen in einem Untermenü die zusätzlichen Rechenoperationen Sinus, Kosinus, Tangens und Quadratwurzel auswählbar sein. Außerdem soll die App für zwei verschiedene Layouts optimiert werden, zum einen für ein Smartphone (default Layout) und zum anderen für ein Tablet (ca ). Es ist darauf zu achten, dass auf dem Tablet mehr Platz zur Verfügung steht als auf einem Smartphone, sodass die o.g. zusätzlichen Rechenoperationen in der Tablet Version nicht über ein Menü zur Verfügung gestellt werden müssen, sondern direkt mit angezeigt werden können. Wie beim letzten Praktikum kann auch in dieser Übung die Bibliothek exp4j ( verwendet werden. Die Abgabe der Übung findet am Dienstag, den , statt.

91 Literatur I. Sven Haiges: Android Schnelleinstieg entwickler.press, 2011 II. Thomas Künneth: Android 3 - Apps entwickeln mit dem Android SDK Galileo Press, 2011 III. IV. Mark Murphy: The Busy Coders Guide To Android Development, 2013

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

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 - Ressource. Leibniz Universität IT Services Anja Aue

Android - Ressource. Leibniz Universität IT Services Anja Aue Android - Ressource Leibniz Universität IT Services Anja Aue Ressourcen Verwaltung von Informationen zur Benutzeroberfläche ähnlich wie Cascading Style Sheets. Ablage von Strings, Bildern etc. in einer

Mehr

Android Programmierung. Studiengang MI

Android Programmierung. Studiengang MI Android Programmierung mit Java Studiengang MI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://mwilhelm.hs-harz.de Raum 2.202 Tel.

Mehr

Labor 2 : Hello, World Plus

Labor 2 : Hello, World Plus Labor 2 : Hello, World Plus Ziel Als nächstes werden Sie eine neue Anwendung HelloAndroidPlus erstellen, die eine Erweiterung der Funktionalität der ersten Übung HelloAndroidPrj beinhaltet: Sobald man

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

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

Java - Menü und Intent. Leibniz Universität IT Services Anja Aue

Java - Menü und Intent. Leibniz Universität IT Services Anja Aue Java - Menü und Intent Leibniz Universität IT Services Anja Aue Menüs Auswahl von verschiedenen Möglichkeiten mit Hilfe von Menüeinträgen. Menüeinträge können Untermenüs öffnen. Definition des Menüs in

Mehr

Layouts Übersicht. FrameLayout Vermeiden. TableLayout. LinearLayout. FrameLayout Vermeiden. FrameLayout: Links oben. LinearLayout.

Layouts Übersicht. FrameLayout Vermeiden. TableLayout. LinearLayout. FrameLayout Vermeiden. FrameLayout: Links oben. LinearLayout. Layouts Übersicht FrameLayout Vermeiden Alles links oben Standard Horizontal und vertikal, nebeneinander Verschachteln (kann langsam werden) TableLayout nur für Tabellen GridLayout Geordnetes Layout Neuer

Mehr

Java - Menüs und Fragmente. Leibniz Universität IT Services Anja Aue

Java - Menüs und Fragmente. Leibniz Universität IT Services Anja Aue Java - Menüs und Fragmente Leibniz Universität IT Services Anja Aue Menüs Auswahl von verschiedenen Möglichkeiten mit Hilfe von Menüeinträgen. Menüeinträge können Untermenüs öffnen. Definition in einer

Mehr

Android Programmierung mit Java Studiengang MI

Android Programmierung mit Java Studiengang MI Android Programmierung mit Java Studiengang MI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://mwilhelm.hs-harz.de Raum 2.202 Tel.

Mehr

Android Programmierung mit Java Studiengang MI

Android Programmierung mit Java Studiengang MI Android Programmierung mit Java Studiengang MI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://mwilhelm.hs-harz.de Raum 2.202 Tel.

Mehr

Mobile App Development. - Grafische Oberflächen -

Mobile App Development. - Grafische Oberflächen - Mobile App Development - Grafische Oberflächen - Inhalt Ressourcen Allgemeines Views Layouting Ressourcen Android Ressourcen Ressourcen sind Dateien und Objekte, wie Layouts, Bilder, Farben und IDs Zu

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

5.5 Schaltflächen und Menüs

5.5 Schaltflächen und Menüs 68 5 Oberflächengestaltung Texte definieren Um die Verweise auf Ressourcen aufzulösen, definieren wir die Texte in der Datei /res/values/strings.xml. Dort legen wir die folgenden Einträge an:

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

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

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

Mobile App Development

Mobile App Development Mobile App Development - Graphische Oberflächen - Graphische Oberflächen Oberflächenbeschreibung in XML layout Dateien in res/layout LayoutInflater: Erstellung von Java-View-Objekten aus der XML-Definition

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

5 Oberflächengestaltung

5 Oberflächengestaltung D3kjd3Di38lk323nnm 49 5 Oberflächengestaltung Die Qualität der Programmoberfläche ist ein wichtiges Kriterium für die Akzeptanz durch den Anwender. Schon durch den geschickten Einsatz der bereitgestellten

Mehr

Aus einem (sehr) begrenzten Wertebereich (z.b. Zahlen von 1-5) soll ein Wert ausgewählt werden.

Aus einem (sehr) begrenzten Wertebereich (z.b. Zahlen von 1-5) soll ein Wert ausgewählt werden. Lösungsvorschlag: 1. Aufgabe (18 Punkte): Auswahl Aus einem (sehr) begrenzten Wertebereich (z.b. Zahlen von 1-5) soll ein Wert ausgewählt werden. a) Nennen Sie drei unterschiedliche Arten, diese Interaktion

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 Ressourcen XML in der Android-Entwicklung zur Definition von Ressourcen Im /res Ordner layout: Definition von Layouts

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

EINFÜHRUNG IN DIE PROGRAMMIERUNG MOBILER ANDROID APPS

EINFÜHRUNG IN DIE PROGRAMMIERUNG MOBILER ANDROID APPS EINFÜHRUNG IN DIE PROGRAMMIERUNG MOBILER ANDROID APPS März 2014 Kurs an der Juniorakademie Heidenheim Heinke Hihn Inhaltsverzeichnis Einführung in die Programmierung mobiler Android Apps EINFÜHRUNG IN

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

Android - Layout einer Benutzeroberfläche. Leibniz Universität IT Services Anja Aue

Android - Layout einer Benutzeroberfläche. Leibniz Universität IT Services Anja Aue Android - Layout einer Benutzeroberfläche Leibniz Universität IT Services Anja Aue Hinweise zur Gestaltung der Bildschirmseite Eine Bildschirmseite sollte eine Aufgabe abbilden. Auf einer Bildschirmseite

Mehr

Mobile App Development. - Alarm -

Mobile App Development. - Alarm - Mobile App Development - Alarm - Inhalt Alarme AlarmManger Wake locks 2 Alarm Alarm Oft ist es notwendig eine App zu starten, auch wenn der Benutzer nicht mit ihr interagiert Starten von Activities zu

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

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

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

Labor 1 : Hello, World

Labor 1 : Hello, World Labor 1 : Hello, World Ziel Sie sollten eine neue Applikation Hello, Android erstellen, dessen Startseite, wie folgt, aussieht (siehe Abbildung): 1. Der Name der Applikation ist Hello, Android. (Er wird

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

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

Mobile App Development. - No1fica1ons -

Mobile App Development. - No1fica1ons - Mobile App Development - No1fica1ons - No1fica1ons Notifications sind Benachrichtigungen, die dem Benutzer über die Android Statuszeile mitgeteilt werden Bildquelle: http://developer.android.com/guide/topics/ui/notifiers/notifications.html

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

Technische Hochschule Georg Agricola WORKSHOP TEIL 2. Veranschaulichung des EVA-Prinzips

Technische Hochschule Georg Agricola WORKSHOP TEIL 2. Veranschaulichung des EVA-Prinzips 12.1.2017 Technische Hochschule Georg Agricola WORKSHOP TEIL 2 Veranschaulichung des EVA-Prinzips Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Erklärung zum EVA-Prinzip... 3 2.1 Benötigte

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

Um die Verweise auf Ressourcen aufzulösen, definieren wir die Texte. Einträge an: Farbwert an:

Um die Verweise auf Ressourcen aufzulösen, definieren wir die Texte. Einträge an: Farbwert an: efi Um die Verweise auf Ressourcen aufzulösen, definieren wir die Texte in der Datei. Dortlegenwirdiefolgenden Einträge an: efi Ebenso legen wir in der Datei den referenzierten Farbwert an: Listing 5-11

Mehr

MMI 2: Mobile Human- Computer Interaction Übung 2

MMI 2: Mobile Human- Computer Interaction Übung 2 MMI 2: Mobile Human- Computer Interaction Übung 2 Prof. Dr. michael.rohs@ifi.lmu.de Mobile Interaction Lab, LMU München ORGANISATORISCHES 2 Exercises # Date Topic 1 24.10.2011 Mobile usage scenarios 2

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

(1)Einführung in Eclipse

(1)Einführung in Eclipse Auf diesem ersten Arbeitsblatt werdet ihr die Programmierumgebung Eclipse kennenlernen, die eure Oberfläche zum Bearbeiten des Android-Projekts Schiffe versenken sein wird. Dabei macht ihr euch einen Überblick

Mehr

Cocktail-Rezepte-APP

Cocktail-Rezepte-APP Application Name: Cocktails Company Domain: gsog.de Empty Activity Main Activity: FindCocktailActivity Layout: activity_find_cocktail Was ist neu??

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

Einführung in die Einführung in Android Anwendungsentwicklung

Einführung in die Einführung in Android Anwendungsentwicklung Einführung in die Einführung in Android Anwendungsentwicklung FH Gießen Friedberg 27. Oktober 2010 Inhalt Was bisher geschah / Prognosen Grundlagen Entwicklungsumgebung Beispiel: Notensammler Intents und

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

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

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

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 Activities werden von Objekten der Klasse android.content.intent gestartet Unterscheidung in explizite und implizite

Mehr

Tutorial. Programmierung einer Android-Applikation Notizzettel. Teil 2

Tutorial. Programmierung einer Android-Applikation Notizzettel. Teil 2 Tutorial Programmierung einer Android-Applikation Notizzettel Teil 2 Autor: Oliver Matle Datum: April 2014, Version 1.0 Autor: Oliver Matle, www.matletarium.de Seite 1 von 23 Inhaltsverzeichnis Kapitel

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

FSBaSc 2007 BE1. Android Umrechner A-UM. Version Datum Beschreibung, Bemerkung Name oder Rolle Erstellung Dokument Holger Schindler

FSBaSc 2007 BE1. Android Umrechner A-UM. Version Datum Beschreibung, Bemerkung Name oder Rolle Erstellung Dokument Holger Schindler FFHS Fernfachhochschule Schweiz FSBaSc 2007 BE1 Prototyp A-UM Klassifizierung * Status ** Projektname Projektabkürzung Projektleiter Auftraggeber Autor Bearbeitende * Nicht klassifiziert, Intern, Vertraulich

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

GUI-Programmierung. (5) Das Spielfeld

GUI-Programmierung. (5) Das Spielfeld Mit erreichen von Arbeitsblatt 5 habt ihr es bereits geschafft euer Spiel zu starten. Das ist schon einmal super. Allerdings kann noch nicht viel gespielt werden. Das sollt ihr jetzt ändern. Arbeitsblatt

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

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

WERBEMITTELANFORDERUNG

WERBEMITTELANFORDERUNG c t HTML5-APP WERBEMITTELANFORDERUNG PREISE UND SPEZIFIKATIONEN Werbeform Platzierung Preis Innerhalb der c t 4.000,00 Print/App-Kombi Innerhalb der c t 3.200,00 Opening Page 1. Seite nach dem Titelblatt,

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

Ü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

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf

Mehr

5 Oberflächengestaltung

5 Oberflächengestaltung 49 5 Oberflächengestaltung Die Qualität der Programmoberfläche ist ein wichtiges Kriterium für die Akzeptanz durch den Anwender. Schon durch den geschickten Einsatz der bereitgestellten Oberflächenelemente

Mehr

Android: Navigation Drawer

Android: Navigation Drawer Prof. Dr. Carsten Vogt,, Feb. 2015 Carsten Vogt,, 2015. Android: Navigation Drawer Prof. Dr. Carsten Vogt Prof. Dr. Carsten Vogt,, Feb. 2015 Carsten Vogt,, 2015. Android: Navigation Drawer 1.) Aussehen

Mehr

Gib dem Projekt (z.b.) den Namen MyApplication und klicke auf Next. Der Domain-Name ist beliebig.

Gib dem Projekt (z.b.) den Namen MyApplication und klicke auf Next. Der Domain-Name ist beliebig. Mit Android Studio Seiten mit Text, Bildern Schaltknöpfen generieren, um zu den Seiten und zum Internet navigieren zu können. Stufe 1: Gehe zu http://developer.android.com/sdk/index.html, lade Android

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

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

Accounts und Kontakte in Android

Accounts und Kontakte in Android Accounts und Kontakte in Android Die letzten Wochen habe ich daran gearbeitet, die Kontakte der AddressTable von Leonardo und mir ins Android Adressbuch zu bringen. Dazu habe ich die AddressManagement-Applikation

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

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

6 Oberflächen und Daten

6 Oberflächen und Daten 111 6 Oberflächen und Daten Nachdem wir nun viel über die Gestaltung von Oberflächen und den Zugriff auf Views gelernt haben, möchten wir in diesem Kapitel zeigen, wie man Bildschirmseiten mit Daten aus

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

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

GUI Programmierung in Java

GUI Programmierung in Java vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf

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

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

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

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Android Theading Android Kurs Stufe 2 (Orangegurt)

Android Theading Android Kurs Stufe 2 (Orangegurt) Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Threading... 2 2 Umzusetzende Funktionalität... 3 3 Lösung mit eigenem Thread... 4 3.1 Die einfache Thread Lösung... 4 3.2 Thread Lösung mit eigener

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Vorbereitende Aufgaben

Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

4. Software-Kompponenten in Android Broadcast Intents und Broadcast Receivers. Broadcast Intents

4. Software-Kompponenten in Android Broadcast Intents und Broadcast Receivers. Broadcast Intents Broadcast Intents Broadcast Intents sind eine spezielle Art von Intents, die auf Betriebssystemebene (genauer: Application Framework) verschickt werden, nicht auf der Anwendungsebene Zweck: informieren

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

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 Uwe Post: Android-Apps entwickeln für Einsteiger.Eigene Apps und Spiele mit Android Studio Florian Franke /Johannes Ippen:

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

Android - Interaktion mit dem Benutzer. Leibniz Universität IT Services Anja Aue

Android - Interaktion mit dem Benutzer. Leibniz Universität IT Services Anja Aue Android - Interaktion mit dem Benutzer Leibniz Universität IT Services Anja Aue Activity Bildschirmseite in einer APP. Ablage auf einen Stack. Wenn eine Activity gestartet wird, wird diese oben auf den

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

32.4 Anpassen von Menüs und Symbolleisten 795i

32.4 Anpassen von Menüs und Symbolleisten 795i 32.4 Anpassen von Menüs und Symbolleisten 795i Fortsetzung der Seiten in der 8. Auflage 32.4 Anpassen von Menüs und Symbolleisten 32.4.1 Anpassen von Menüs Die Menüs können um folgende Typen von Optionen

Mehr

Filterlisting. Modul für xt:commerce Veyton. Plugin-Funktionen... Systemvoraussetzung... Template-Anpassung...

Filterlisting. Modul für xt:commerce Veyton. Plugin-Funktionen... Systemvoraussetzung... Template-Anpassung... Filterlisting Modul für xt:commerce Veyton Plugin-Funktionen... 2 Systemvoraussetzung... 3 Installation... 3 Template-Anpassung... 4 Konfiguration... 5 1 Plugin-Funktionen Mit dem Modul Filterlisting können

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces 10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes

Mehr

Mobile App Development. - Grafische Oberflächen -

Mobile App Development. - Grafische Oberflächen - Mobile App Development - Grafische Oberflächen - Inhalt Ressourcen Allgemeines Views Layouting Ressourcen Android Ressourcen Android Ressourcen Ressourcen sind Dateien und Objekte, wie Layouts, Bilder,

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

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen

Mehr

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen 5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden

Mehr