Mobile App Development

Größe: px
Ab Seite anzeigen:

Download "Mobile App Development"

Transkript

1 Mobile App Development - Graphische Oberflächen -

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

3 View View zeichnet etwas auf dem Screen graphisches Elelment, mit dem der Benutzer interagieren kann Oberklasse von allen Standard Controls Button, TextField, ProgressBar, ImageView

4 ViewGroup ViewGroup unsichtbarer Container, der andere Views oder ViewGroups aufnimmt... und diese positioniert Oberklasse von Containern LinearLayout, GridLayout, ListView

5 View Hierarchie View und ViewGroups bilden eine Hierarchie

6 Beipiel Hello World <LinearLayout! xmlns:android=" xmlns:tools=" > <ImageView android:layout_gravity="center_horizontal" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView /> <EditText android:inputtype="textcapwords" /> </LinearLayout> <Button android:layout_gravity="center_horizontal" /> </LinearLayout>

7 Views

8 Button View Button besteht aus einem Text und/oder einem Icon Bei Klick wird irgendeine Aktion ausgeführt

9 Button View Button besteht aus einem Text und/oder einem Icon Bei Klick wird irgendeine Aktion ausgeführt XML <Button />

10 Button View auf Klicks reagieren Möglichkeit 1: in der Activity einen OnClickListener erstellen und am Button registrieren Möglichkeit 2: Angabe einer aufzurufenden Methode während GUI Design

11 Button View Möglichkeit 1 programmatische Zuweisung einer OnClickListener-Implementierung Button btn = (Button) findviewbyid(r.id.btnsayhello); btn.setonclicklistener(new View.OnClickListener() public void onclick(view v) {!!! /*!!! * Button action code!!! */!! }! });

12 Button View Möglichkeit 2 Angabe einer Methode die in der Activity ausgeführt werden soll, wenn der Button geklickt wurde Achtung: die Methode muss in der Activity auch implementiert sein <Button android:id="@+id/btnsayhello" android:onclick="clickaction" android:text="@string/say" />

13 Button View Möglichkeit 2

14 Button View Möglichkeit 2 Implementierung der Methode gleicher Name, wie in XML public-zugriff void return Wert <Button android:id="@+id/btnsayhello" android:onclick="clickaction" android:text="@string/say" /> public void clickaction(view view) { // do Button action } genau 1 Parameter: View

15 Button View Möglichkeit 2 Implementierung der Methode gleicher Name, wie in XML public-zugriff void return Wert <Button android:id="@+id/btnsayhello" android:onclick="clickaction" android:text="@string/say" /> public void clickaction(view view) { // do Button action } genau 1 Parameter: View

16 Button View Möglichkeit 2 Implementierung der Methode gleicher Name, wie in XML public-zugriff void return Wert <Button android:id="@+id/btnsayhello" android:onclick="clickaction" android:text="@string/say" /> public void clickaction(view view) { // do Button action } genau 1 Parameter: View

17 Button View Möglichkeit 2 Implementierung der Methode gleicher Name, wie in XML public-zugriff void return Wert <Button android:id="@+id/btnsayhello" android:onclick="clickaction" android:text="@string/say" /> public void clickaction(view view) { // do Button action } genau 1 Parameter: View

18 Button View Möglichkeit 2 Implementierung der Methode gleicher Name, wie in XML public-zugriff void return Wert <Button android:id="@+id/btnsayhello" android:onclick="clickaction" android:text="@string/say" /> public void clickaction(view view) { // do Button action } genau 1 Parameter: View

19 EditText View EditText Views ermöglichen dem Benutzer die Eingabe von Text

20 EditText View EditText Views ermöglichen dem Benutzer die Eingabe von Text Tastatur öffnet sich automatisch nach Touch XML <EditText android:inputtype="textcapwords" android:imeoptions="actionsend">

21 EditText View Input type gibt an, welche Art von Text eingegeben werden soll, z. B. Plain, , Password Textarten werden in Klassen eingeteilt Variation von Textklassen beeinflusst das Keyboard-Verhalten, z. B. erster Buchstabe groß, multi line

22 EditText View Input type Beispiele Klasse Text Number Text Variation CapSentence Decimal Password

23 EditText View Input type setzen

24 EditText View Input type setzen XML <EditText! android:inputtype="textcapwords textnosuggestions" /> programmatisch EditText edtname = (EditText) findviewbyid(r.id.edtname); edtname.setinputtype(inputtype.type_text_flag_cap_characters!! InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

25 EditText View Keyboard action gibt an, welcher Button an Stelle des Return-Buttons in der Tastatur angezeigt werden soll XML <EditText android:imeoptions="actionnone" android:singleline="true" />

26 EditText View actionnext actiondone actionsend

27 EditText View actionnone actiongo actionsearch

28 EditText View Auf Keyboard action reagieren EditText txt = (EditText) findviewbyid(r.id.edittext01); txt.setoneditoractionlistener(new TextView.OnEditorActionListener() public boolean oneditoraction( TextView v, int actionid, KeyEvent event) {!!! boolean handeled = false;!!!!!!! return handeled;!! } });

29 EditText View Weitere Eigenschaften Hint text <EditText... android:hint="hint Text"> Lines <EditText... android:lines="3"> Bilder <EditText... android:drawableleft!!

30 EditText View... und noch mehr Eigenschaften Text style, typeface, size Line spacing Text color, hint color...

31 CheckBox View Eine CheckBox ermöglicht dem Benutzer eine mit ihr verknüpfte Eigenschaft auf true oder false zu setzen.

32 CheckBox View Eine CheckBox ermöglicht dem Benutzer eine mit ihr verknüpfte Eigenschaft auf true oder false zu setzen. XML <CheckBox android:layout_width="match_parent" android:layout_height="wrap_content" android:checked="true" />

33 CheckBox View auf CheckBox Klicks reagieren Möglichkeit 1 Angabe einer Methode die in der Activity ausgeführt werden soll, wenn der Button geklickt wurde Möglichkeit 2 programmatische Zuweisung eines OnClickListeners

34 CheckBox View Möglichkeit 1 Angabe einer Methode, die in der Activity ausgeführt werden soll, wenn die CheckBox geklickt wurde <CheckBox android:id="@+id/checkbox1" android:checked="true" android:onclick="onbeerboxclicked" android:text="@string/beer" />

35 CheckBox View Möglichkeit 1

36 Button View Möglichkeit 1 Implementierung der Methode gleicher Name, wie in XML <CheckBox android:id="@+id/checkbox1" android:checked="true" android:onclick="onbeerboxclicked" android:text="@string/beer" /> public-zugriff void return Wert genau ein Parameter: View public void onbeerboxclicked(view view) {! CheckBox cb = (CheckBox)!! findviewbyid(r.id.checkbox1);! if (cb.isselected()) {!! /* do something */! } else {!! /* do the other things */! } }

37 Button View Möglichkeit 1 Implementierung der Methode gleicher Name, wie in XML <CheckBox android:id="@+id/checkbox1" android:checked="true" android:onclick="onbeerboxclicked" android:text="@string/beer" /> public-zugriff void return Wert genau ein Parameter: View public void onbeerboxclicked(view view) {! CheckBox cb = (CheckBox)!! findviewbyid(r.id.checkbox1);! if (cb.isselected()) {!! /* do something */! } else {!! /* do the other things */! } }

38 Button View Möglichkeit 1 Implementierung der Methode gleicher Name, wie in XML <CheckBox android:id="@+id/checkbox1" android:checked="true" android:onclick="onbeerboxclicked" android:text="@string/beer" /> public-zugriff void return Wert genau ein Parameter: View public void onbeerboxclicked(view view) {! CheckBox cb = (CheckBox)!! findviewbyid(r.id.checkbox1);! if (cb.isselected()) {!! /* do something */! } else {!! /* do the other things */! } }

39 Button View Möglichkeit 1 Implementierung der Methode gleicher Name, wie in XML <CheckBox android:id="@+id/checkbox1" android:checked="true" android:onclick="onbeerboxclicked" android:text="@string/beer" /> public-zugriff void return Wert genau ein Parameter: View public void onbeerboxclicked(view view) {! CheckBox cb = (CheckBox)!! findviewbyid(r.id.checkbox1);! if (cb.isselected()) {!! /* do something */! } else {!! /* do the other things */! } }

40 Button View Möglichkeit 1 Implementierung der Methode gleicher Name, wie in XML <CheckBox android:id="@+id/checkbox1" android:checked="true" android:onclick="onbeerboxclicked" android:text="@string/beer" /> public-zugriff void return Wert genau ein Parameter: View public void onbeerboxclicked(view view) {! CheckBox cb = (CheckBox)!! findviewbyid(r.id.checkbox1);! if (cb.isselected()) {!! /* do something */! } else {!! /* do the other things */! } }

41 CheckBox View Möglichkeit 2 programmatische Zuweisung eines OnClickListeners CheckBox cbbeer = (CheckBox) findviewbyid(r.id.cbbeer); cbbeer.setonclicklistener(new View.OnClickListener() public void onclick(view v) {!!! CheckBox cb = (CheckBox) v;!!! if (cb.ischecked()) {!!!! /* do something */!!!! Toast.makeText(MainActivity.this,!!!!!! "test", Toast.LENGTH_LONG).show();!!! } else {!!!! /* do the other things */!!! }!! }! });

42 CheckBox View Möglichkeit 2 Alternative: programmatische Zuweisung eines OnCheckedChangeListener cbbeer.setoncheckedchangelistener(new OnCheckedChangeListener() public void oncheckedchanged(!! CompoundButton buttonview, boolean ischecked) {!!! /* d your stuff */!! } });

43 RadioButton View RadioButtons ermöglichen dem Benutzer die Auswahl einer Option aus mehreren verschiedenen.

44 RadioButton View Optionen, die durch RadioButton repräsentiert werden, schließen sich gegenseitig aus (mutually exclusiv) RadioButtons werden in RadioGroups zusammengefasst

45 RadioButton View XML <RadioGroup android:orientation="vertical" > <RadioButton android:checked="true" <RadioButton /> <RadioButton /> </RadioGroup>

46 RadioButton View <RadioGroup android:orientation="vertical" > auf Auswahl reagieren Angabe der Activity-Methode <RadioButton android:checked="true" android:onclick="onselect"/> <RadioButton android:onclick="onselect" /> <RadioButton android:onclick="onselect"/> </RadioGroup>

47 RadioButton View Implementierung in Activity Regeln für Signatur analog zu Button und CheckBox public void onselect(view view) {! switch (view.getid()) {!! case R.id.radio0:!!! /* MADA selected */!!! break;!! case R.id.radio1:!!! /* IKZ selected */!!! break;!! case R.id.radio2:!!! /* prakt. Schalt. selected */!!! break;! } }

48 ProgressBar View ProgressBars werden verwendet, um den Fortschritt einer Operation anzuzeigen

49 ProgressBar View ProgressBars werden verwendet, um den Fortschritt einer Operation anzuzeigen <ProgressBar style=! android:layout_width="fill_parent" android:layout_height="wrap_content" android:max="100" android:progress="70" />

50 ProgressBar View style Attribute bestimmt die Form der ProgressBar <ProgressBar style=! android:layout_width="fill_parent" android:layout_height="wrap_content" android:max="100" android:progress="70" />

51 ProgressBar View max = Anzahl Ticks progress = aktuelle Ticks <ProgressBar android:id="@+id/progressbar1" style=! "@android:style/widget.progressbar.horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:indeterminate="false" android:max="100" android:progress="70" />

52 ProgressBar View Spezielle ProgressBars RatingBar SeekBar

53 Spinner View Eine Spinner View erlaubt dem Benutzer die Auswahl eines einzelnen Elements aus einer Menge.

54 Spinner View Eine Spinner View erlaubt dem Benutzer die Auswahl eines einzelnen Elements aus einer Menge. XML <Spinner android:layout_width="fill_parent" android:layout_height="wrap_content"... />

55 Spinner View Wo kommen die Superhelden her und wie wird der Spinner gefüllt?

56 Spinner View Wo kommen die Superhelden her und wie wird der Spinner gefüllt? 1. Situation: Elemente sind zur Compile-Zeit bekannt 2. Situation: Elemente sind zur Compile-Zeit noch nicht bekannt

57 Spinner View Sind die Elemente zur Compile-Zeit bekannt, können sie in einer Array- Resource eingetragen und verwendet werden. Was sind Array-Resourcen?

58 Spinner View Definition eines String arrays res/values/strings.xml <resources> <string name="app_name">test</string> <string name="hello_world">hello world!</string> <string-array name="spinner_values"> <item >Superman</item> <item >Batman</item> <item >Spiderman</item> <item >Flash</item> </string-array> </resources>

59 Spinner View Zuweisung des String arrays an den Spinner res/layout/activity_main.xml res/values/strings.xml <resources>... <string-array name="spinner_values"> <item >Superman</item> <item >Batman</item> <item >Spiderman</item> <item >Flash</item> </string-array> </resources> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="..."!...! <Spinner!! </LinearLayout>

60 Spinner View Zuweisung des String arrays an den Spinner res/layout/activity_main.xml res/values/strings.xml <resources>... <string-array name="spinner_values"> <item >Superman</item> <item >Batman</item> <item >Spiderman</item> <item >Flash</item> </string-array> </resources> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="..."!...! <Spinner!! </LinearLayout>

61 Spinner View Zuweisung des String arrays an den Spinner res/layout/activity_main.xml res/values/strings.xml <resources>... <string-array name="spinner_values"> <item >Superman</item> <item >Batman</item> <item >Spiderman</item> <item >Flash</item> </string-array> </resources> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="..."!...! <Spinner!! </LinearLayout>

62 Spinner View 2. Situation: Elemente erst zur Laufzeit bekannt Verwendung von Adaptern Adapter bilden Brücke zwischen sog. AdapterViews und den darzustellenden Daten

63 Spinner View Verwendung eines ArrayAdapters /* Erstellung eines Adapters */ ArrayAdapter<String> adapter = new ArrayAdapter<String>(!!!! this, android.r.layout.simple_spinner_item); /* Datenelemente hinzufügen */ adapter.add("superman"); adapter.add("batman"); adapter.add("spiderman"); adapter.add("flash"); /* Spinner Instanz holen */ Spinner s = (Spinner) findviewbyid(r.id.myspinner); /* Adapter für den Spinner festlegen */ s.setadapter(adapter);

64 Spinner View Auf eine Auswahl reagieren Spinner spinner =! (Spinner) findviewbyid(r.id.myspinner); spinner.setonitemselectedlistener(! new AdapterView.OnItemSelectedListener() public void onitemselected(!!! AdapterView<?> parent,!!! View view, int pos, long id) {!! // TODO: implement me!! String str = (String)!!!!!! parent.getitematposition(pos);! public void onnothingselected(!!! AdapterView<?> parent) {!! // TODO: implement me! }! });

65 List View ListViews werden verwendet, um mehrere Elemente in einer vertikalen Liste darzustellen

66 List View ListViews werden verwendet, um mehrere Elemente in einer vertikalen Liste darzustellen XML <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" >

67 Spinner View Wie wird die Liste befüllt? analog zur SpinnerView 1. Situation: Elemente sind zur Compile-Zeit bekannt 2. Situation: Elemente sind zur Compile-Zeit noch nicht bekannt

68 List View Definition eines String arrays res/values/strings.xml <resources> <string name="app_name">test</string> <string name="hello_world">hello world!</string> <string-array name="list_values"> <item >Brot</item> <item >Schinken</item> <item >Käse</item> <item >Butter</item> <item >Bier</item> </string-array> </resources>

69 Spinner View Zuweisung des String arrays an die Liste res/layout/activity_main.xml res/values/strings.xml <resources>... <string-array name="list_values"> <item >Brot</item> <item >Schinken</item> <item >Käse</item> <item >Butter</item> <item >Bier</item> </string-array> </resources> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="..."!...! <ListView!! </LinearLayout>

70 Spinner View Zuweisung des String arrays an die Liste res/layout/activity_main.xml res/values/strings.xml <resources>... <string-array name="list_values"> <item >Brot</item> <item >Schinken</item> <item >Käse</item> <item >Butter</item> <item >Bier</item> </string-array> </resources> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="..."!...! <ListView!! </LinearLayout>

71 Spinner View Zuweisung des String arrays an die Liste res/layout/activity_main.xml res/values/strings.xml <resources>... <string-array name="list_values"> <item >Brot</item> <item >Schinken</item> <item >Käse</item> <item >Butter</item> <item >Bier</item> </string-array> </resources> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="..."!...! <ListView!! </LinearLayout>

72 Spinner View 2. Situation: Elemente erst zur Laufzeit bekannt Verwendung eines Adapters, um die Liste zur Laufzeit zu befüllen

73 Spinner View Verwendung eines Adapters, um die Liste zur Laufzeit zu befüllen ArrayAdapter<String> adapter =!!! new ArrayAdapter<String>(this,!!!!! android.r.layout.simple_list_item_1); adapter.add("brot"); adapter.add("schinken"); adapter.add("käse");!! ListView lv = (ListView) findviewbyid(r.id.listview1); lv.setadapter(adapter);

74 List View Auf Element Klicks reagieren ListView lv = (ListView) findviewbyid(!! R.id.myListView);!! lv.setonitemclicklistener(! new AdapterView.OnItemClickListener() public void onitemclick(!!! AdapterView<?> list,!!! View view, int pos, long id) {!!!! /* do your stuff here */!! } });

75 Layouting

76 Layouts Layouts... sind ViewGroups (Container) können andere ViewGroups und Views aufnehmen werden verwendet, um ihre Kindelemente auf dem Screen zu positionieren

77 Layout Parameter Jede View besitzt Layout-Parameter, die der umgebenden ViewGroup mitteilen, wie die View in Position und Größe dargestellt werden soll. Je nach umgebender View werden verschiedene Layout-Parameter verwendet.

78 Layout Parameter Beispiel <Button! android:layout_width="wrap_content"! android:layout_height="wrap_content"! android:text="button" /> <Button! android:layout_width="wrap_content"! android:layout_height="fill_parent"! android:text="button" /> <Button! android:layout_width="fill_parent"! android:layout_height="fill_parent"! android:text="button" />

79 FrameLayout wird in der Regel verwendet, um ein Element darzustellen Layout-Attribut gravity <FrameLayout xmlns:android=!! " android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> </FrameLayout>

80 FrameLayout kann auch mehrere, gestapelte Views enthalten Darstellung nach Einfügereihenfolge <FrameLayout xmlns:android=!! " android:layout_width="fill_parent"! android:layout_height="fill_parent" >! <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="button" /> </FrameLayout>

81 LinearLayout Ein LinearLayout richtet seine Kindelemente entlang einer bestimmt Richtung aus Diese Richtung (Orientierung) kann horizontal und vertikal sein

82 LinearLayout Orientierung <LinearLayout xmlns:android="..." android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:orientation="vertical" > <TextView <EditText android:layout_width="0dip" android:layout_height="wrap_content"/ > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

83 LinearLayout Orientierung <LinearLayout xmlns:android="..." android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:orientation="vertical" > <TextView <EditText android:layout_width="0dip" android:layout_height="wrap_content"/ > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

84 LinearLayout Orientierung <LinearLayout xmlns:android="..." android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:orientation="vertical" > <TextView <EditText android:layout_width="0dip" android:layout_height="wrap_content"/ > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

85 LinearLayout Layout-Parameter weight gibt an, wie groß eine View im Verhältnis zu den Views dargestellt werden soll nicht ausgefüllter Platz im parent wird zwischen den Views gemäß dem Verhältnis ihrer weight Werte verteilt <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="2" >

86 LinearLayout Beispiel Layout-Parameter weight weight weight weight TextField EditText Button - - 3

87 RelativeLayout RelativeLayout wird verwendet, um Views relativ zu einander auszurichten Nachteil: kompliziertes Layout Vorteil: sehr flache View-Hierarchie und dadurch bessere Performance

88 RelativeLayout <RelativeLayout xmlns:android="..." android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_alignparentleft="true" android:layout_alignparenttop="true"/> <EditText > <Button /> </RelativeLayout>

89 RelativeLayout RelativeLayout.LayoutParams RelativeLayout.LayoutParams.html

90 RelativeLayout RelativeLayout.LayoutParams RelativeLayout.LayoutParams.html

91 Praktikum

92 Praktikum siehe Übungsblatt

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

App Entwicklung mit dem Android SDK

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

Mehr

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

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

Ü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

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

Android-Ergänzungen. Programmieren in Java

Android-Ergänzungen. Programmieren in Java Android-Ergänzungen zu Programmieren in Java von Fritz Jobst ISBN 978-3-446-41771-7 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-41771-7 sowie im Buchhandel Carl

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

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

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

Anforderung. View Button. <LinearLayout android:layout_width="match_parent" Layout. <TextView.../> android:orientation="vertical"> LinearLayout

Anforderung. View Button. <LinearLayout android:layout_width=match_parent Layout. <TextView.../> android:orientation=vertical> LinearLayout Activities Views und Layouts Activity Benutzer Interaktion FullScreen UI-Element View und ViewGroup View: Abstrakte Basisklasse für UI-Komponenten (Widgets) ViewGroup: View, Sammlung/Kontainer von Views

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

Definition eigener Views

Definition eigener Views Definition eigener Views Prinzipielle Ansätze: Spezialisierung eines Widgets bei Nutzung der vorhandenen Darstellungsmöglichkeiten z.b. TextView zur formatierten Ausgabe von Fließkommazahlen Layoutdefinition

Mehr

Listing- und Abbildungsverzeichnis

Listing- und Abbildungsverzeichnis Hochschule München Fakultät 07 Informatik und Mathematik Seminararbeit Android GUI Entwicklung mit Native Java Verfasser: Stefan Haupt Matrikelnummer: 06479910 Fach: Aktuelle Technologien verteilter Java

Mehr

Definition eigener Views

Definition eigener Views Definition eigener Views Prinzipielle Ansätze: Spezialisierung eines Widgets bei Nutzung der vorhandenen Darstellungsmöglichkeiten z.b. TextView zur formatierten Ausgabe von Fließkommazahlen Layoutdefinition

Mehr

Heiko Mosemann Matthias Kose. Android. Anwendungen für das Handy-Betriebssystem erfolgreich programmieren HANSER

Heiko Mosemann Matthias Kose. Android. Anwendungen für das Handy-Betriebssystem erfolgreich programmieren HANSER Heiko Mosemann Matthias Kose Android Anwendungen für das Handy-Betriebssystem erfolgreich programmieren HANSER Inhaltsverzeichnis 1 Android stellt sich vor 1 1.1 Warum Java? ' 2 1.2 Einschränkungen 3 1.3

Mehr

Inhaltsverzeichnis. Heiko Mosemann, Matthias Kose. Android. Anwendungen für das Handy-Betriebssystem erfolgreich programmieren ISBN: 978-3-446-41728-1

Inhaltsverzeichnis. Heiko Mosemann, Matthias Kose. Android. Anwendungen für das Handy-Betriebssystem erfolgreich programmieren ISBN: 978-3-446-41728-1 Heiko Mosemann, Matthias Kose Android Anwendungen für das Handy-Betriebssystem erfolgreich programmieren ISBN: 978-3-446-41728-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41728-1

Mehr

Android Layouts + Views Android Kurs Stufe 1 (Gelbgurt)

Android Layouts + Views Android Kurs Stufe 1 (Gelbgurt) Android Kurs Stufe 1 (Gelbgurt) Inhaltsverzeichnis 1 Allgemeines... 2 2 Das Layout Grundproblem... 2 3 Alternative Layoutvorgaben... 3 4 XML als Layoutdefinition... 4 4.1 Allgemeine XML Layoutangaben...

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

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

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

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

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

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

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

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

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

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

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

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

(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

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

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C

Mehr

App Entwicklung für Android Devices

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

Mehr

XML- Sprachfamilie WS 2015/2016

XML- Sprachfamilie WS 2015/2016 XML- Sprachfamilie WS 2015/2016 Wolfgang Putz Inhalt Vorstellung Warum XML: einige XML Anwendungen Die Veranstaltung - Themen und Ziele - Organisatorisches Seite 2 Das Fraunhofer Institut für Experimentelles

Mehr

Interface. So werden Interfaces gemacht

Interface. So werden Interfaces gemacht Design Ein Interface (=Schnittstelle / Definition) beschreibt, welche Funktionalität eine Implementation nach Aussen anzubieten hat. Die dahinter liegende Algorithmik wird aber der Implementation überlassen.

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

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

JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten

JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten Einführung in JavaScript anhand von Beispielen JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten Grundbedingungen die Einbindung erfolgt über ein Objektmodell (Objekte mit

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

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

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

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

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

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

Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz

Vererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz Einführung in C++ Vererbung I Durch Vererbung können aus bereits bestehenden Klassen neue Klassen konstruiert werden. Die neue abgeleitete Klasse erbt dabei die Daten und Methoden der sog. Basisklasse.

Mehr

Programmieren 2 Java Überblick

Programmieren 2 Java Überblick Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10

Mehr

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

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

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

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

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,

Mehr

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben 18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (

Mehr

JOGGA Der Jogging-Companion

JOGGA Der Jogging-Companion JOGGA Der Jogging-Companion GLIEDERUNG: (1) Idee (2) Funktionen (3) Codebeispiele IDEE: Jeder Jogger kennt das Problem: Man rafft sich auf um eine Runde zu laufen, schwitzt während dessen ohne Ende und

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

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

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

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

Entwicklung einer Mobilen Applikation für die Präsentation tunnelbauspezifischer Daten in einer dokumentenbasierten Datenbank

Entwicklung einer Mobilen Applikation für die Präsentation tunnelbauspezifischer Daten in einer dokumentenbasierten Datenbank Entwicklung einer Mobilen Applikation für die Präsentation tunnelbauspezifischer Daten in einer dokumentenbasierten Datenbank Schriftliche Prüfungsarbeit für die Bachelor-Prüfung des Studiengangs Angewandte

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

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

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

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 9 Lösungsvorschlag Objektorientierte Programmierung 26. 06. 2006 Aufgabe 19 (Sieb des Erathostenes)

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

124 Kompetenzorientierte Aufgaben im Informatikunterricht

124 Kompetenzorientierte Aufgaben im Informatikunterricht 124 Kompetenzorientierte Aufgaben im Informatikunterricht 4.2 Aufgaben 4.2.1 Aufgabe 1: Kühlschrank 4.2.1.1 Aufgabenstellung Ein einfacher Kühlschrank besitzt einen Ein-Aus-Schalter, der jederzeit betätigt

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Sprachkonstrukte Verzweigungen und Array-Strukturen

Sprachkonstrukte Verzweigungen und Array-Strukturen Sprachkonstrukte Verzweigungen und Array-Strukturen Dr. Beatrice Amrhein Überblick Verzweigungen o if/else o switch/case Array-Strukturen o Vektoren und Matrizen 2 Verzweigungen 3 Verzweigungen: if/else

Mehr

Mobile Development in.net mit Xamarin

Mobile Development in.net mit Xamarin 1 Mobile Development in.net mit Xamarin Mobile Web (Hybrid) Apps Vorteil: Weniger Aufwand Multi-Plattform Web-Technologien Nachteil: UX Performance UI Design Gerätefunktionen 2 Plattform abstrahieren 3

Mehr

JTable. W. Lang HWR Berlin, SS

JTable. W. Lang HWR Berlin, SS JTable W. Lang HWR Berlin, SS 2014 1 JTable Die Swing-Komponente JTable dient der Darstellung einer zweidimensionalen Tabelle Verwendung häufig im Zusammenhang mit Datenbankanwendungen Im Gegensatz zu

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Android Entwicklung. MobileDevCamp Munich 31.10.2009 Markus Junginger. greenrobot_de

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

Mehr

3. Übungsbesprechung Programmkonstruktion

3. Übungsbesprechung Programmkonstruktion 3. Übungsbesprechung Programmkonstruktion Karl Gmeiner karl@complang.tuwien.ac.at November 16, 2011 K Gmeiner (karl@complang.tuwien.ac.at) 3. Übungsbesprechung PK November 16, 2011 1 / 22 Rückblick und

Mehr