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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Programmieren für mobile Endgeräte SS 2013/2014

2 Programmieren für mobile Endgeräte 2 Ressourcen XML in der Android-Entwicklung zur Definition von Ressourcen Im /res Ordner layout: Definition von Layouts values: Strings, Größenangaben (Dimensions), Farben, Stile anim/animator: Animation menu: Menüs Nicht als XML: drawables: Grafiken (bevorzugt: PNG) Bei Bedarf individuell (per Postfix-Angabe) bspw.: Auflösungen (ldpi, mdpi, hdpi oder xhdpi) SDK-Versionen Gerätetypen

3 Programmieren für mobile Endgeräte 3 Ressourcen (II) Hinzufügen neuer Ressourcen in Eclipse File New New Android XML File Ressource-Typ wählen Spezialisierung

4 Programmieren für mobile Endgeräte 4 Ressourcen (III) Wozu der Aufwand? 1. Möglichst scharfe Trennung von Daten und ihrer Darstellung 2. Möglichst keine harte Verdrahtung von Systemspezifika (z.b. Bildschirmauflösung) oder Systemeinstellungen (z.b. Sprache) Zu Punkt 1: Auch Model-View-Controller (MVC) Pattern genannt Model: Die konkreten Daten auf denen eine Anwendung arbeitet View: Was bekommt der Nutzer zu sehen Controller: Bindeglied zwischen View und Model

5 Programmieren für mobile Endgeräte 5 Model-View-Controller RelativeLayout (View) activity_main.xml <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent tools:context=".compassactivity" > <EditText android:id="@+id/edittext1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputtype="textpersonname" > </EditText> </RelativeLayout> Person (Model) public class Person { private String name; public void setname(string name) { this.name = name MyActivity (Controller) public class MyActivity extends Activity { private Person person = new Person(); protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // inflate setcontentview(r.layout.activity_main); public void onkey(view view, int keycode, KeyEvent event) { if (event.getaction() == KeyEvent.ACTION_DOWN) { if (keycode == KeyEvent.KEYCODE_ENTER) { person.setname(((edittext)view).gettext().tostring()); ((EditText)view).setText(""); return true; return false; Kommunikation Controller View public String getname() {return name; Kommunikation Controller Model

6 Programmieren für mobile Endgeräte 6 Mehr zu Layouts: dp (density-independent pixels) dt ist eine Pixel-unabhängige Maßeinheit Sie wird für die Beschreibung von Layoutgrößen empfohlen Ohne Pixelunabhängigkeit erscheinen Layouts bei verschiedenen Auflösungen verschieden groß pixelabhängig pixelunabhängig Auflösung Auflösung Grafiken bei dp-skalierung schnell pixelig oder verschwommen Daher: Grafiken in verschiedenen Auflösungen anbieten Ordner: drawable-(ldpi mdpi hdpi xhpi) Vgl. Icon-Generierung bei neuem Projekt Quelle:

7 Programmieren für mobile Endgeräte 7 Mehr zu Layouts: layout_width height Höhe und Breite können wie folgt definiert werden feste Maßeinheit: 70dp Layout-Parameter: match_parent, wrap_content match_parent: so groß wie Elternelement (abzüglich Padding) wrap_content : gerade so groß, dass der Inhalt hinein passt Hello World Hello World match_parent wrap_content

8 Programmieren für mobile Endgeräte 8 Mehr zu Layouts: RelativeLayout Neben dem GridLayout das flexibelste Layout Anordnung der Elemente durch Layout-Parameter: <TextView android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content android:layout_alignparenttop="true" android:layout_alignparentleft="true" android:text AlignParentLeft_Top "/> <TextView android:id="@+id/textview2 android:layout_alignparentright="true" android:layout_alignparenttop="true android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="alignparentright_top"/> <TextView android:id="@+id/textview3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerinparent="true" android:text="centerinparent />

9 Programmieren für mobile Endgeräte 9 Mehr zu Layouts: RelativeLayout Anordnung durch Anker (Verweise auf andere Elemente per ID) <TextView android:id="@+id/textview3" android:layout_centerinparent="true" /> <TextView android:id="@+id/textview4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centervertical="true" android:layout_marginright="25dp" android:layout_toleftof="@+id/textview3" android:paddingtop="50dp" android:text="centertoleftof" /> <TextView android:id="@+id/textview5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centervertical="true" android:layout_marginleft="25dp" android:layout_torightof="@id/textview3" android:paddingtop="50dp" android:text="centertorightof" />

10 Programmieren für mobile Endgeräte 10 Listener View-Elemente nehmen Nutzereingabe entgegen Nach MVC keine (modellbasierte) Verarbeitung von Eingaben Controller registrieren bei den View-Elementen Listener Views informieren diese über bestimmte Eingaben MyActivity Model protected void oncreate(bundle savedinstancestate) { Button button = (Button) findviewbyid(); button.setonclicklistener(myonclicklistener()); MyOnClickListener public void onclick(view view) { // do something

11 Programmieren für mobile Endgeräte 11 Listener (II) Drei Möglichkeiten einen Listener zu registrieren: 1. Implizit über den Designer: 2. Explizit public class MyActivity extends Activity { public void ontoggleclicked(view view) { public class MyListener implements OnClickListener { public void ontoggleclicked(view view) { public class MyActivity extends Activity { protected void oncreate(bundle savedinstancestate) { Button button = (Button) findviewbyid(); button.setonclicklistener(new MyListener()); Auch die Activity selbst darf als Listener fungieren!

12 Programmieren für mobile Endgeräte 12 Listener (III) 3. Anonym public class MyActivity extends Activity { protected void oncreate(bundle savedinstancestate) { Button button = (Button) findviewbyid(); final Object attribute = ; button.setonclicklistener(new OnClickListener() { public void onclick(view v) { // verarbeiten und irgendwas mit attribute machen ); Compiler legt eine anonyme Subklasse zu MyActivity an Klasse ist nicht statisch, daher Zugriff auf MyActivity - Attribute möglich Lokale Attribute müssen für Zugriff im Listener final sein

13 Programmieren für mobile Endgeräte 13 Form-Widgets Neben den Layouts die wichtigsten Komponenten zu erstellen von Oberflächen Button (siehe letzte Vorlesung) ist ein einfaches Form-Widget Mehrere Widgets können als ViewGroup zusammengefasst werden So können neue Nutzer-definierte Widgets entstehen Nachfolgend wird eine Auswahl vorgestellt

14 Programmieren für mobile Endgeräte 14 Form-Widgets (Auswahl I) ToggleButton Ein Button mit zwei Zuständen: On/Off Zustand schaltet automatisch bei Klick (Touch) um Zustandsbezeichnung kann geändert werden RadioButton, CheckBox Ebenfalls zwei Zuständen: checked/unchecked RadioButton kann nicht von checked zu unchecked wechseln RadioGroup Kapselt eine beliebige Anzahl an RadioButtons Nur einer der Buttons kann im Zustand checked sein.

15 Programmieren für mobile Endgeräte 15 Form-Widgets (Beispiel) ToggleButton zum Aktivieren von Nutzer- Logging in einer Activity RadioGroup zur Auswahl des Log-Levels Herausforderung: RadioButtons nur aktiv, wenn Logging auf On Vorarbeit: 1.Log-Level-Enum/Attribut mit den Werten VERBOSE, DEBUG, INFO 2.Boolesches Log-Attribut (default: false) in der Activity 3.Listener-Methode für die Buttons (Designer/Code) 4.Log-Methode log, die entsprechend des Log-Levels loggedt 5.Im Designer für alle RadioButtons Clickable deaktivieren

16 Programmieren für mobile Endgeräte 16 Form-Widgets (Beispiel: Code I) public class WidgetTestActivity extends Activity { protected static enum LogLevel {VERBOSE, DEBUG, INFO // 1 private LogLevel loglevel = LogLevel.VERBOSE; private boolean log = false; // 2 public void ontoggleclicked(view view) { // 3 // protected void log(string methodname, String message) { // 4 if (!this.log) return ; message = message + " (invoked by: " + methodname + ")"; switch (this.loglevel) { case VERBOSE: Log.v(this.getClass().getSimpleName(), message); break; case DEBUG:Log.d(this.getClass().getSimpleName(), message); break; case INFO: Log.i(this.getClass().getSimpleName(), message); break; In LogCat kann nach Log-Tags (Log.?(TAG, )) gefilter werden

17 Programmieren für mobile Endgeräte 17 Form-Widgets (Beispiel: Ressourcen) Im deaktivierten Zustand sollen die RadioButtons ausgegraut sein Neue Ressource: values/colors.xml Farbe im Designer zuweisen: <resources> <color name="view_text_enabled">#333</color> <color name="view_text_disabled">#999</color> </resources> Zugriff auf Ressourcen im Source-Code colors.xml <resources> <color name= MyColor"></color> </resources> final class R public static final class color { public static final int MyColor=0x7f040001; MyActivity int colorid = R.color.MyColor; int color = this.getresources().getcolor(colorid); // Liefert die ID, nicht den Wert! // Die Wert hinter der ID!

18 Programmieren für mobile Endgeräte 18 Form-Widgets (Beispiel: Code II) Funktionalität des ToggleButtons implementieren public void ontoggleclicked(view view) { this.log = ((ToggleButton)view).isChecked(); log("ontoggleclicked", ); // toggle Flag toggleclickable(r.id.radio0, R.id.radio1, R.id.radio2); // toggle RadioButons protected void toggleclickable(int... ids) { View view; for (int id : ids) { view = findviewbyid(id); view.setclickable(!view.isclickable()); // toggle Clickable if (view instanceof TextView) { int colorid = this.log? R.color.view_text_enabled : R.color.view_text_disabled; ((TextView)view).setTextColor(getResources().getColor(colorId)); // toggle Farbe log("toggleclickable", )

19 Programmieren für mobile Endgeräte 19 Form-Widgets (Beispiel: Code III) Funktionalität der RadioButtons implementieren RadioButtons und ToggleButton teilen sich eine Listener-Methode In der Methode muss also unterschieden werden public void ontoggleclicked(view view) { if (view instanceof ToggleButton) { // siehe Folie zuvor return ; public void ontoggleclicked(view view) { switch (view.getid()) { case R.id.toggleButton1: // siehe Folie zuvor break; if (view instanceof RadioButton) { String text = ((RadioButton)view).getText().toString(); case R.id.radio0: case R.id.radio1: case R.id.radio2: try { this.loglevel = LogLevel.valueOf(text.toUpperCase()); log("ontoggleclicked", ); catch (Exception e) { log("ontoggleclicked", break; instanceof id-switch

20 Programmieren für mobile Endgeräte 20 Form-Widgets (Auswahl II) ImageView Widget zum Einbinden von Bildern SeekBar Balken der einen Wert innerhalb einer Bereichsgröße repräsentiert Erlaubt Nutzereingabe per Slider Spinner Auswahlkompente Auswahlmöglichkeiten werden erst nach Click/Touch angezeigt

21 Programmieren für mobile Endgeräte 21 Form-Widgets (Beispiel II) ImageView mit einem Bild SeekBar zum Manipulieren des Alpha- Kanal des Bildes Spinner mit Farbauswahl zum Einfärben des Bildes Vorarbeit: 1.Neuer Ordner res/drawable und Bild per Dragndrop hinzufügen 2.Bild im Designer zuweisen 3.Activiaty um OnSeekBarChangeListener und OnItemSelectedListener erweitern (implements) 4.Interface-Methoden-Stubs implementieren 5.Activity als Listener für SeekBar und Spinner registrieren

22 Programmieren für mobile Endgeräte 22 Form-Widgets (Beispiel II: Code I) public class WidgetTestActivity extends Activity implements OnSeekBarChangeListener, OnItemSelectedListener { // 3 // OnSeekBarChangeListener // 4.1 public void onstarttrackingtouch(seekbar seekbar) {log(, ); public void onstoptrackingtouch(seekbar seekbar) {log(, ); public void onprogresschanged(seekbar seekbar, int progress, boolean fromuser) {log(, ); // OnItemSelectedListener // 4.2 public void onitemselected(adapterview<?> parent, View view, int position, long id) {log(, ); public void onnothingselected(adapterview<?> parent) {log( onnothingselected", ); protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // inflate setcontentview(r.layout.activity_widget_test); SeekBar bar = (SeekBar) findviewbyid(r.id.seekbar1); // 5 bar.setonseekbarchangelistener(this); Spinner spinner = (Spinner) findviewbyid(r.id.spinner1); spinner.setonitemselectedlistener(this);

23 Programmieren für mobile Endgeräte 23 Form-Widgets (Beispiel II: Ressourcen) Spinner soll vordefinierte Auswahl an Farben anbieten Mehrere Strings können als String-Array-Ressource angelegt werden Farbnamen werden der von android.graphics.color übernommen <resources> <string-array name="colors"> <item>black</item> <item>blue</item> <item>cyan</item> <item>gray</item> <item>green</item> <item>magenta</item> <item>red</item> <item>white</item> <item>yellow</item> </string-array>> </resources> package android.graphics; public class Color { public static final int BLACK public static final int GRAY public static final int WHITE public static final int RED public static final int GREEN public static final int BLUE public static final int YELLOW public static final int CYAN public static final int MAGENTA = 0xFF000000; = 0xFF888888; = 0xFFFFFFFF; = 0xFFFF0000; = 0xFF00FF00; = 0xFF0000FF; = 0xFFFFFF00; = 0xFF00FFFF; = 0xFFFF00FF; Array wird dann über den Designer mit dem Spinner verbunden

24 Programmieren für mobile Endgeräte 24 Form-Widgets (Beispiel II: Code II) Funktionalität des SeekBars implementieren public void onprogresschanged(seekbar seekbar, int progress, boolean fromuser) { ImageView image = (ImageView) findviewbyid(r.id.imageview1); image.setimagealpha(progress); log("onprogresschanged", ); Per Default ist der Wertebereichs eines SeekBars Ein ARGB-Farbwert wird als int gespeichert Für einen Farbkanal gilt daher der Wertebereich: int 32Bit 8 8Bit # alpha, red, green, blue 4 SeekBar-Maximum sowie Startwert umstellen auf 255: Das SeekBar-Minimum kann nicht geändert werden!

25 Programmieren für mobile Endgeräte 25 Form-Widgets (Beispiel II: Code III) Funktionalität des Spinners implementieren public void onitemselected(adapterview<?> parent, View view, int position, long id) { String[] colors = getresources().getstringarray(r.array.colors); ImageView image = (ImageView) findviewbyid(r.id.imageview1); int color = Color.parseColor(colors[position]); image.setcolorfilter(color, PorterDuff.Mode.MULTIPLY); log("onitemselected", ); Übergeben wird mit position der Index des angeklickten Elementes Der zugehörige Wert wird im String-Array erfragt Per parsecolor wird dieser dann zum Farbwert geparst Die Einfärbung wird dann per setcolorfilter erreicht Zu PorterDuff.Mode.MULTIPLY: Jeder Pixel im Ausgangsbild wird mit dem übergebenen Farbwert multipliziert

26 Programmieren für mobile Endgeräte 26 Form-Widgets (Auswahl III) EditText Texteingabe Viele vordefinierte Varianten für bestimmte Einsatzzwecke Eingabe per OnKeyListener überwachen (hier Enter ): public boolean onkey(view v, int keycode, KeyEvent event) { if (event.getaction() == KeyEvent.ACTION_DOWN) { if (keycode == KeyEvent.KEYCODE_DPAD_CENTER keycode == KeyEvent.KEYCODE_ENTER) { // Enter wurde gedrückt return true; return false; ; Per getaction() wird überprüft ob eine Taste gedrückt wurde Der keycode verrät welche Taste

27 Programmieren für mobile Endgeräte 27 Aufgabe 1.Implementieren Sie aus Beispiel II den SeekBar und ImageView in einem neuen Projekt 2.Erweitern Sie die Anwendung so, dass unmittelbar unter dem Seekbar drei Textfelder angezeigt werden: 1.Zwei angepasst an den linken bzw. rechten Rand des SeekBars 2.Eines in der Mitte des Layouts 3.Das linke bzw. rechte Feld soll die Grenzen anzeigen, das mittlere den aktuell eingestellten Wert 3.Erweitern Sie die Anwendung um ein EditText, dessen Wert bei Eingabeabschluss (Enter) zu einem Farbwert geparst und analog zum Beispiel II als Einfärbung für das ImageView benutz werden soll. Gucken Sie sich dazu die Methode android.graphics.color.parsecolor genauer an (

Android GUI Entwicklung

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

Mehr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

Mehr

Mobile Systeme Android 07.04.2011

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

Mehr

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

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

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

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

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 Besprechung der Aufgaben 1) Legen Sie das Android-Projekt HelloWorldApp an so wie es in den vorherigen Folien beschrieben

Mehr

Android - In einer View zeichnen. Leibniz Universität IT Services Anja Aue

Android - In einer View zeichnen. Leibniz Universität IT Services Anja Aue Android - In einer View zeichnen Leibniz Universität IT Services Anja Aue Was wird benötigt? Ein Atelier (ondraw()). Eine Leinwand (android.graphics.canvas). Pinsel (android.graphics.paint) und Farbe.

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

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

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

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

Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden

Mehr

Enumerations und innere Klassen

Enumerations und innere Klassen Enumerations und innere Klassen Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2009 Praktikum: Grundlagen der Programmierung Aufgabenblatt 11 Prof. R. Westermann, R. Fraedrich,

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

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

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

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen 7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen

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

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

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

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

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens

Mehr

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

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

Mehr

Java Beans. http://java.sun.com/beans/

Java Beans. http://java.sun.com/beans/ Java Beans http://java.sun.com/beans/ Software Komponenten Eine Software Komponente ist ein eigenständiges, flexibles und einfach wieder verwendbares Stück Software. In Java: + Plattformunabhängigkeit

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

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

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

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

Programmieren von Webinformationssystemen

Programmieren von Webinformationssystemen Programmieren von Webinformationssystemen Wolfgang Gassler Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 HTML Hypertext Markup

Mehr

Software Engineering II

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

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

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

Programmieren für Wirtschaftswissenschaftler SS 2015

Programmieren für Wirtschaftswissenschaftler SS 2015 DEPARTMENT WIRTSCHAFTSINFORMATIK FACHBEREICH WIRTSCHAFTSWISSENSCHAFT Programmieren für Wirtschaftswissenschaftler SS 2015 Lucian Ionescu Blockveranstaltung 16.03 27.3.2015 7. Graphische Oberflächen Ein

Mehr

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

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

Mehr

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

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

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

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

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Android Umgebung einrichten Android Kurs Stufe 1 (Gelbgurt)

Android Umgebung einrichten Android Kurs Stufe 1 (Gelbgurt) Android Kurs Stufe 1 (Gelbgurt) Inhaltsverzeichnis 1 Einleitung... 2 2 Kursaufbau... 2 3 Aufbau der Entwicklungs-Infrastruktur... 3 4 Installation der Entwicklungsumgebung... 3 5 Grundgedanken... 4 6 HelloWorld

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

Mi. 12. Nov. 2003 WA73 - R. 0611. Projekt Software Engeneering 2003/04. SWT & JFace. Norman Thomas Rogowski

Mi. 12. Nov. 2003 WA73 - R. 0611. Projekt Software Engeneering 2003/04. SWT & JFace. Norman Thomas Rogowski Mi. 12. Nov. 2003 WA73 - R. 0611 Projekt Software Engeneering 2003/04 SWT & JFace Norman Thomas Rogowski Was ist SWT? Standard Widget Toolkit Baut auf native Oberfläche auf Aussehen entspricht exakt dem

Mehr

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

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

Mehr

Android Processes & Services

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

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference) 2. Methoden n Generelles zum Aufruf von Methoden n Parameterübergabemechanismen (call by value, call by reference) n Speicherorganisation bei Methodenaufruf und Parameterübergabe (Laufzeitkeller) n vararg

Mehr

Java Einführung Abstrakte Klassen und Interfaces

Java Einführung Abstrakte Klassen und Interfaces Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer

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

Datentypen: Enum, Array, Struct, Union

Datentypen: Enum, Array, Struct, Union Datentypen: Enum, Array, Struct, Union C-Kurs 2013, 2. Tutorium Freitagsrunde http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009

Mehr

Programmieren I. Kapitel 8. Vererbung

Programmieren I. Kapitel 8. Vererbung Programmieren I Kapitel 8. Vererbung Kapitel 8: Vererbung Ziel: Wesentliches objektorientiertes Konzept kennenlernen Subtypen Idee Probleme und Varianten Vererbung in Java dynamische Bindung abstrakte

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

Sommersemester Implementierung III: GUI und Verhalten (Teil 2) Sommersemester 2003 Implementierung III: GUI und Verhalten (Teil 2) 26 Aufgabe 5 Implementierung III: GUI und Verhalten (Teil 2) Umfang: 1 Woche Punkte: 50 P. Als Nächstes soll die Implementierung des

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

Abschnitt 9: Schnittstellen: Interfaces

Abschnitt 9: Schnittstellen: Interfaces Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung

Mehr

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

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

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 05: FXML & Scene Builder Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda FXML und Scene Builder Scene Builder installieren und Demo Controller

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Android will doch nur spielen. Java Eine kurze Einführung

Android will doch nur spielen. Java Eine kurze Einführung Android will doch nur spielen Java Eine kurze Einführung Agenda Einführung in Java Syntax und Semantik Komplexe Datenstrukturen OOP Weitere Java-Elemente 2 Einführung in Java Was ist Java? lt. Sun: einfach

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

5 Grundlagen der Java-Syntax

5 Grundlagen der Java-Syntax 5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten

Mehr

App-Entwicklung mit Android Studio

App-Entwicklung mit Android Studio Thema: App-Entwicklung mit Android Studio Name der Autorin/ des Autors: Fach: Klasse/Jahrgangsstufe: Schulart: Lehrplanbezug: Jochen Pogrzeba,StR Max-Weber-Schule, Freiburg Informatik, Wirtschaftsinformatik

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;

Mehr

Übung 1: Object Inspector

Übung 1: Object Inspector Übung 1: Object Inspector Es ist ein System zu entwickeln, mit dem man Objektstrukturen bezüglich ihrer Properties analysieren und dann in einem Tree Viewer (JTree) anzeigen und bearbeiten kann. Properties

Mehr

Eclipse Tutorial.doc

Eclipse Tutorial.doc Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik Eclipse Tutorial 2005, HTI Burgdorf R. Weber Dateiname: Eclipse

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

Reversi: Server und manueller Spieler

Reversi: Server und manueller Spieler Reversi: Server und manueller Spieler Plenum Programmierpraktikum 2006-12-14 Kodierung der Textdateien Einstellung für alle Projekte: Window Preferences Workspace Text file encoding. Auf UTF-8 stellen.

Mehr

2.2 Prozesse in Java

2.2 Prozesse in Java 2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.

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

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr