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

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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 Activity und Manifest Entwicklung eigener GUI-Klassen Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

2 Aus was besteht eine Android-Anwendung? Vgl. Folie 35: Activity: Jede Anwendung besteht aus mindestens einer Activity: Vordergrundprozess, zuständig für die Anzeige Service: Hintergrundkomponente Content Provider: Datenbereich, der für verschiedene Anwendungen zur Verfügung steht. Intent: Message-Passing-Framework für den lose gekoppelten Nachrichtenaustausch zwischen Activities und/oder Services. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

3 Broadcast Receiver: Empfänger von Intents, Angabe von Bedingungen möglich, für ereignis-gesteuerte Anwendungen Notification: Benachrichtigungen an den Benutzer ohne Wechsel der Activity im Vordergrund. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

4 Android-Projekt in Eclipse Im Wurzelverzeichnis eines Projektes: AndroidManifest.xml XML-Datei zur Beschreibung der Anwendung, z. B. aus welchen Komponenten (Activities, Services, etc.) die Anwendung besteht. project.properties Meta-Information, automatisch erzeugt, z.b. Zielplattform (API Level) Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

5 bin/ Enthält die compilierte und gebundene Applikation inklusive der apk- Datei src/ Java-Quelltexte gen/ Automatisch generierte Quelltext-Dateien, hier insbesondere die Klasse R.java res/ Non-Code Ressourcen, z.b. Grafiken, Layouts, Stringdefinitionen etc., werden eingebunden in das Anwendungspaket (.apk). Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

6 assets/ Weitere statische Dateien, die in die Anwendung eingebunden werden sollen. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

7 Ressourcen res/drawable-.../ für Grafiken/Bilder (PNG, JPEG, etc.) in verschiedenen Display-Auflösungen res/layout/ für XML-basierte Layout-Definitionen res/menu/ für Definitionen von Menüs res/values/ für Strings und Definitionen, z.b. für Lokalisation res/xml/ für sonstige XML-Dateien res/raw/ für sonstige Dateien Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

8 Dateien der Android-Anwendung Das Ergebnis der Compilierung/Erzeugung einer Anwendung liegt in bin/. bin/classes/ enthält die compilierten Java-Klassen im üblichen JVM- Bytecode. bin/classes.dex die ausführbare Anwendung erzeugt aus den compilierten Java-Klassen bin/deineapp.apk ist die Android-Anwendung fertig zur Installation. Die.apk-Datei ist ein ZIP-Archiv bestehend aus der.dex-datei, den Ressourcen, der Manifest-Datei und weiteren Dateien. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

9 Activity ganz simpel (1) Mit dem Anlegen eines Android-Projekts über Eclipse werden automatisch u.a. die folgenden Java-Klassen generiert: MeineActivity.java: Einfachster Rahmen für eine Activity-Klasse, abgeleitet von android.app.activity. R.java: Definiert symbolische Konstanten für die Ressourcen der Anwendung. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

10 Aufbau der erzeugten Activity-Klasse: package meineanwendung; import android.app.activity; import android.os.bundle; import android.view.menu; public class MyActivity extends Activity public void oncreate(bundle bundle) { super.oncreate(bundle);... Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

11 } public boolean oncreateoptionsmenu(menu menu) {... } Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

12 Schematischer Aufbau der erzeugten Klasse R: /* AUTO-GENERATED FILE. DO NOT MODIFY. */ package mobis1.b1; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class id { public static final int mybutton=0x7f050001; public static final int mytextview=0x7f050000; } Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

13 } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

14 Anzeige von Inhalten für eine Activity Damit die Activity etwas anzeigt, muss ihr mit Hilfe der Methode setcontentview() ein View-Objekt zugeordnet werden. Hierzu gibt es zwei Möglichkeiten: Wir erzeugen passende View-Instanzen und weisen diese der Activity zu: public void oncreate(bundle bundle) { super.oncreate(bundle); } MyView myview = new MyView(this); this.setcontentview(myview); Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

15 Wir nutzen eine vordefinierte Layout-Definition aus den Ressourcen: public void oncreate(bundle bundle) { super.oncreate(bundle); } this.setcontentview(r.layout.mylayout); Meistens wird der zweite Weg der bevorzugte Weg sein. Bemerkung: Anders ist dies bei der Entwicklung von View-Bibliotheken. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

16 Activity ganz simpel (2) Eine Activity ermöglicht das Anzeigen einer UI-Komponente mittels der Methode setcontentview(). Die UI-Komponenten selbst sind von der Klasse android.view.view abgeleitet. Für das Anzeigen verschiedener UI-Komponenten benötigen wir entweder verschiedene Activities oder eine saubere Logik um mittels setcontentview() zwischen den UI- Komponenten zu wechseln. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

17 Wir bevorzugen die erste Möglichkeit. Damit sind wir aber bis zum Thema Komponententechnologie auf eine Activity in einer Anwendung beschränkt. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

18 Activity ganz simpel (3) Activities sind Komponenten! Um eine Komponente/Activity in einer Anwendung nutzen zu können, muss sie im Manifest definiert werden: <activity android:name=".myactivity" <intent-filter> <action android:name="android.intent.action.main"/> <category android:name="android.intent.category.launcher"/> </intent-filter> </activity> Nur für die mit Projektdefinition erzeugte Activity geschieht dies automa- Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

19 tisch. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

20 Activity Stack Android verwaltet die Activities auf einem Stack. Wenn eine neue Activity startet, wird die zuletzt aktive Activity auf den Stack gelegt. Wird die sich im Vordergrund befindliche Activity geschlossen oder der Benutzer benutzt den Back-Button, dann wird die oberste Activity des Stacks aktiv. Tief im Stack befindliche Activities können von der Android- Laufzeitumgebung gelöscht werden, um ausreichend Ressourcen bereit zu stellen. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

21 Zustände einer Activity active: Sichtbare Activity, bereit Eingaben zu empfangen (Focus), liegt oben auf dem Stack. Android versucht dieser Activity alle notwendigen Ressourcen bereit zu stellen, eventuell durch kill anderer nicht aktiver Activities. Wird eine andere Activity active, geht diese Activity in den Zustand paused oder stopped über. paused: Die Activity ist sichtbar, hat aber nicht den Focus. Entsteht wenn eine andere Activity, die transparent ist oder nicht den ganzen Schirm abdeckt, sich überhalb der Activity befindet (Beispiel: Dialog). Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

22 Wird wie eine aktive Activity behandelt, empfängt einer keine Benutzereingaben. Wird eine Activity vollständig verdeckt, geht sie in den Zustand stopped über. stopped: Die Activity ist nicht mehr sichtbar. Sie verbleibt zunächst im Speicher, kann aber jederzeit von Android Laufzeitumgebung entfernt werden. Dann ist sie inactive. inactive: Eine inaktive Activity muss neu gestartet werden, damit sie wieder angezeigt und benutzt werden können. Die Zustandsübergänge werden vollständig von der Android- Laufzeitumgebung initiiert. Eine Anwendung hat aber die Möglichkeit, auf die Zustandsübergänge zu reagieren. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

23 Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

24 Methoden für Zustandsübergänge Damit eine Activity auf die Zustandsübergänge reagieren kann, bietet sie entsprechende Methoden an: void oncreate(bundle bundle) void onstart() void onrestart() void onresume() void onpause() Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

25 void onstop() void ondestroy() Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

26 Activity Lifetimes Entire Lifetime: zwischen oncreate() und ondestroy() Legen Sie in oncreate() alles an, was Sie auf jeden Fall brauchen und sorgen Sie in ondestroy() dafür, dass alle noch belegten Ressourcen freigegeben werden. Visible Lifetime: zwischen onstart() und onstop() Behandlung von Ressourcen die für die Anzeige benötigt werden. Foreground Lifetime: Zwischen onresume() und onpause() Mehrfacher Wechsel des Zustands möglich, tritt z.b. auf, wenn das Telefon in den Ruhezustand übergeht. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

27 2. GUI-Programmierung für mobile Geräte Views und Layouts Views und Layouts View: Basisklassen für visuelle Komponenten. Alle UI-Komponenten sind von der Klasse View abgeleitet. ViewGroup: Klassen, die mehrere Views bündeln. Hierzu gehören z.b. die Layout-Klassen wie LinearLayout. Eine ViewGroup ist eine spezielle View. Widget: View, die zur Interaktion mit dem Benutzer verwendet wird. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

28 2. GUI-Programmierung für mobile Geräte Views und Layouts View-Hierarchie Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

29 2. GUI-Programmierung für mobile Geräte Views und Layouts Grundlegende Widgets TextView: Read-Only Text, unterstützt Formatierung EditText: Editierbare TextView ListView: ViewGroup zum Anzeigen einer Liste von textuellen Einträgen, jeder Eintrag wird dargestellt durch eine einzelne View (üblicherweise TextView) Spinner: Komposition von TextView und ListView. Der über die ListView ausgewählte Eintrag wird in der TextView angezeigt. Button: gewöhnlicher Push-Button Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

30 2. GUI-Programmierung für mobile Geräte Views und Layouts CheckBox: Button mit zwei Zuständen (selektiert bzw. nicht selektiert) RadioButton: Gruppierte Buttons mit zwei Zuständen und wechselseitigem Ausschluss Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

31 2. GUI-Programmierung für mobile Geräte Views und Layouts Layout-Klassen LinearLayout: Horizontale oder vertikale Ausrichtung der enthaltenen Views. Verschachtelung möglich! FrameLayout: Jede View wird in der linken oberen Ecke plaziert. RelativeLayout: Positionierung von Views relativ zu den anderen Views und den Bildschirmgrenzen TableLayout: Aufteilung in Zeilen und Spalten. Bildschirmelemente können mehrere Zeilen/Spalten umfassen, Zeilen können schrumpfen und wachsen. AbsoluteLayout: Positionierung auf der Basis von absoluten Koordinaten. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

32 2. GUI-Programmierung für mobile Geräte Views und Layouts XML-basierte Layout-Definitionen Gerüst, z.b. für LinearLayout: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">... </LinearLayout> Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

33 2. GUI-Programmierung für mobile Geräte Views und Layouts Layout-Attribute Wichtige Attribute (nicht nur für LinearLayout): android:orientation: Ausrichtung beim Layout, vertical oder horizontal android:layout width: Art des horizontalen Füllens, fill parent oder wrap content android:layout height: analog für vertikales Füllen Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

34 2. GUI-Programmierung für mobile Geräte Views und Layouts Kopplung der Komponenten Die Hierarchie der Views spiegelt sich in der XML-Definition wider: <LinearLayout...> <Button.../> <TextView.../> <LinearLayout...> <TextView.../> <EditText.../> </LinearLayout> </LinearLayout> Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

35 2. GUI-Programmierung für mobile Geräte Views und Layouts Entwurfsmuster Beobachter (1) Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

36 2. GUI-Programmierung für mobile Geräte Views und Layouts Entwurfsmuster Beobachter (2) engl.: Observer Pattern bzw. Listener Subject ist eine Klasse, deren Instanzen durch andere Objekte beobachtet werden können. Observer sind die Objekte, die Subject beobachten. Bei Observer handelt es sich i.d.r. um eine abstrakte Klasse bzw. Schnittstelle. Die Beobachtung erfolgt mit Hilfe einer (abstrakten) Methode notify(). Diese wird von Subject aufgerufen, wenn ein bestimmtes Ereignis eingetreten ist (z.b. der Zustand von Subject hat sich geändert). Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

37 2. GUI-Programmierung für mobile Geräte Views und Layouts Da Observer in der Regel abstrakt ist, muss in spezialisierten Unterklassen eine konkrete Implementierung von notify() stattfinden. Damit ein Subject weiß, welche Observer benachrichtigt werden sollen, muss sich ein Observer beim Subject mittels der Methode register() registrieren. Ein Subject verwaltet alle registrierten Observer. Wenn jetzt das bestimmte Ereignis eintritt, ruft das Subject auf allen registrierten Observern die Methode notify() auf. Hierdurch werden die Observer über das Ereignis informiert. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

38 2. GUI-Programmierung für mobile Geräte Views und Layouts Entwurfsmuster Beobachter in Java Subject ist eine Klasse, deren Instanzen beobachtet werden können. class Subject {... } Observer ist als Interface definiert. interface Observer { void notify(subject subject); } Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

39 2. GUI-Programmierung für mobile Geräte Views und Layouts Konkrete Observer implementieren das Interface Observer. class ConcreteObserver implements Observer {... public void notify(subject subject) {... }... } Nach der Registrierung kann der konkrete Observer benachrichtigt werden. Subject s = new Subject(); Observer o = new ConcreteObserver(); s.register(o); Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

40 2. GUI-Programmierung für mobile Geräte Views und Layouts Implementierung eines Observers kann auch über eine anonyme Klasse üblicherweise bei der Registrierung erfolgen. Subject s = new Subject(); s.register(new Observer() { public void notify(subject subject) {... } }); Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

41 2. GUI-Programmierung für mobile Geräte Views und Layouts Entwurfsmuster Beobachter in Android für GUI-Komponenten Subject sind Views oder ViewGroups. Der Name der Registrierungsmethode nimmt Bezug auf den Observer, z.b. setonclicklistener(). Der Name der Benachrichtigungsmethode nimmt Bezug auf das Ereignis, z.b. onclick(). Es kann typischerweise nur ein Beobachter bzw. Listener registriert werden! Will man mehr als einen Beobachter über ein Ereignis informieren, muss man selbst einen Multiplexer realisieren. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

42 2. GUI-Programmierung für mobile Geräte Views und Layouts Entwurfsmuster Beobachter: Beispiel Button Die Klasse Button realisiert einfache Push-Buttons mit Text als Button- Label. Button entspricht Subject im Muster Beobachter. Für die Beobachtung von Button-Clicks steht die Schnittstelle View.OnClickListener zur Verfügung. public interface View.OnClickListener { public void onclick(view view); } Im einfachsten Fall fungiert unsere Activity als Observer. Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

43 2. GUI-Programmierung für mobile Geräte Views und Layouts public class MyActivity extends Activity implements View.OnClickListener {... public void onclick(view view) { // behandle den Button-Click... }... } Problem: Wie kommt man an die Button-Instanz, um die Activity als Beobachter registrieren zu können? Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

44 2. GUI-Programmierung für mobile Geräte Views und Layouts Identifikation von Objekten Jede View kann durch android:id mit einer ID versehen werden. Aufbau der z.b. Mit Hilfe der Methode findviewbyid erhält man innerhalb der Applikation das zugehörige Objekt: Button button = (Button)findViewById(R.id.mybutton); Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

45 2. GUI-Programmierung für mobile Geräte Views und Layouts Beispiel: Identifikation von Objekten Beispiel 2.1. Aktuelle Uhrzeit auf Knopfdruck Siehe Homepage Entwicklung mobiler Anwendungen Europäische Fachhochschule Brühl/Neuss, 3. Quartal

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

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

Mehr

Einführung in Android. 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

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 Android. 22. Oktober 2014

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

Mehr

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

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

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

Mehr

Softwareentwicklungsprozess im Praktikum. 25. April 2013

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

Mehr

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

2. Hintergrundverarbeitung in Android: Services und Notifications

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

Mehr

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

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

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

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

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

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

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

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

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

Ü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

Mobile Informationssysteme I

Mobile Informationssysteme I Mobile Informationssysteme I Peter Becker Hochschule Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@h-brs.de Vorlesung Sommersemester 2010 Allgemeines zur Vorlesung Vorbemerkungen Homepage zur Veranstaltung:

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

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

Android. 2 24.09.2013 Mobile Systeme - Android

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

Mehr

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

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

Szenario 3: Service mit erweiterter Schnittstelle

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

Mehr

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

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

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

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

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

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

Mobile App Development. - Activities -

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

Mehr

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

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

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

1 Der Einstieg in Java für Android

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

Mehr

Smartphone Entwicklung mit Android und Java

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

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung

Mehr

Matthias Furtmüller, Stefan Haselböck. Android

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

Mehr

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

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

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D

Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D Vermittler (Mediator) Sabine Müller - Sven Richter - Jens Wagenbreth 03IN2-P-D 1 1. EINLEITUNG... 3 2. ZWECK... 3 3. MOTIVATION... 3 4. ANWENDBARKEIT... 6 5. STRUKTUR... 6 6. TEILNEHMER... 7 7. INTERAKTION...

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

Android-App zur Bilddarstellung

Android-App zur Bilddarstellung Fachhochschule Aachen Campus Jülich Fachbereich 9 Medizintechnik und Technomathematik Seminararbeit im Studiengang Scientific Programming Android-App zur Bilddarstellung Eingereicht von Marco Mix Matrikel-Nummer:

Mehr

Programmieren in Java

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

Mehr

Graphische Benutzungsoberflächen

Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen

Mehr

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

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

Mehr

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

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

Mehr

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

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

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

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

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

Mehr

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

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

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

Mehr

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

4. Software-Komponenten in Android

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

Mehr

GRAFISCHE BENUTZERSCHNITTSTELLEN

GRAFISCHE BENUTZERSCHNITTSTELLEN Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind

Mehr

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

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

Mehr

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

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

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

Mehr

Erste Erfahrungen mit Android

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

Mehr

Mobile App Development. - Einführung -

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

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

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

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

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben 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

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

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

Mehr

Grundlagen der Programmierung APPLETS

Grundlagen der Programmierung APPLETS Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets

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

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

Das Model View Controller (MVC) Konzept

Das Model View Controller (MVC) Konzept Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2

Mehr

Dokumentation des Projektes Tic Tac Toe

Dokumentation des Projektes Tic Tac Toe Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.

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

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

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

Mehr

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT? Java -The Standard Widget Toolkit- Inhaltsverzeichnis 1. Was ist? - Vorteile von - Nachteile von 2. Vorbereitungen für 3. Das erste Programm in 4. Widgets und Styleparameter 5. - Layouts Was ist ein Widget?

Mehr

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

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

Mehr

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

Android Tutorium Grundlagen. Dr. Steffen Kern & Paul Cech Erfurt University of Applied Sciences Android Tutorium Grundlagen Dr. Steffen Kern & Paul Cech Erfurt University of Applied Sciences Android Ökosystem I Plattform für mobile Endgeräte wie Smartphones und Tablets Aktuelle Version: 5.1 (Lollipop)

Mehr

Ereignisbehandlung 21

Ereignisbehandlung 21 Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen

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

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

Swing Lernen am Code Teil 1

Swing Lernen am Code Teil 1 Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster

Mehr

GUI Programmierung in Java

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

Mehr

Softwarentwicklung für Android

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

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

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

Mehr

Android-Apps weitere Möglichkeiten

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

Mehr

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

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

Mehr

Objektorientierte und Funktionale Programmierung SS 2014

Objektorientierte und Funktionale Programmierung SS 2014 Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

Dokumentation: Content App Framework

Dokumentation: Content App Framework Dokumentation: Content App Framework Andreas Breuninger, medialesson GmbH Januar 2013 Inhaltsverzeichnis 1. DataService... 3 1.1. Laden/Parsen der Daten... 3 1.1.1. GetDataset() -> GetDataAsync() ->

Mehr

Kap. 36. SWING: Menüs. und weitere SWING-Container. Seán Dempsey

Kap. 36. SWING: Menüs. und weitere SWING-Container. Seán Dempsey Kap. 36 SWING: Menüs und weitere SWING-Container Seán Dempsey Grundlagen von Menüs Hauptklasse: JMenuBar SWING- Entsprechung der AWT-Menüklasse MenuBar JMenuBar Menüleiste (JMenuBar) enthält Menüs (JMenu)

Mehr

Mobile App Development

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

Mehr

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

3 Grundlagen. 3.1 Die erste App

3 Grundlagen. 3.1 Die erste App 19 3.1 Die erste App In diesem Abschnitt werden Sie Ihre ersten Schritte in der Windows- Phone-7-Entwicklung machen. Dabei werden Sie eine modifizierte»hallo Welt«-Anwendung schreiben. Daneben lernen Sie

Mehr

1 Abstrakte Klassen, finale Klassen und Interfaces

1 Abstrakte Klassen, finale Klassen und Interfaces 1 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