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 Intents (Wiederholung I) Ein Intent erklärt die Absicht eine bestimmte Activity auszuführen Explizit durch Angabe einer Activity-Klasse Intent intent = new Intent(this, MyActivity.class); startactivity(intent); Implizit durch Beschreibung der gewünschten Activity Intent intent = new Intent(Intent.ACTION_VIEW); intent.setdata(uri.parse("http://www.uni-muenster.de/ziv")); startactivity(intent); Intents kapseln zudem die Rückgabedaten einer Activity Intent result = new Intent(); result.putextra("url", "http://www.uni-muenster.de/ziv"); setresult(activity.result_ok, result);

3 Programmieren für mobile Endgeräte 3 Intents (Wiederholung II) Activity query Intent finish // explizit Intent intent = new Intent(context, MyActivity.class); // implizit Intent intent = new Intent(Intent.ACTION_VIEW); intent.setdata( ); intent.addcategory( ); Activity create lookup Intent setresult PackageManager Intent result = new Intent(); result.putextra(, ); result.putextra(, ); Activity Activity

4 Programmieren für mobile Endgeräte 4 Implizite Intents Wie wird bei einem impliziten Intent entschieden? Implizit nur die Activities, die im Manifest beschrieben sind Per <intent-filter> wird die Aufgabe einer Activity beschrieben <activity android:name=".myactivity android:label= Eine Activity" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> Sobald eine implizite Absicht erklärt wird, werden alle Activities hinsichtlich der Anforderungen gefiltert Nur eine wird am Ende ausgeführt

5 Programmieren für mobile Endgeräte 5 Late Runtime Binding Das Filtern zur Laufzeit wird Late Runtime Binding genannt Filter werden definiert durch: <action>: Name der Aktionen die eine Activity ausführen kann <category>: Kategorie zur Einschränkung der Aktion <data>: Beschreibt die Daten auf denen die Activity arbeitet im URI-Format und/oder als MIME-Type Alle Angaben können mehrfach vorkommen Zur Laufzeit: Mindestens eine der Aktionen muss der geforderten übereinstimmen Alle Kategorien müssen von eine Activity erfüllt werden Mindestens eine Datenbeschreibung muss stimmen Liefert das Filtern mehrere Ergebnisse, so muss der User entscheiden, welche Activity gestartet werden soll

6 Programmieren für mobile Endgeräte 6 Implizite Intents (Beispiel) Default Activity im Manifest: <activity android:name=".myactivity" android:label="eine Activity"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <action> android.intent.action.main: Activity ist Einstiegspunkt für die Applikation <category> android.intent.category.launcher: Activity soll im Luncher angezeigt werden Achtung: LAUNCHER sowie MAIN müssen definiert sein, damit die Activity im Launcher erscheint!

7 Programmieren für mobile Endgeräte 7 Implizite Intents (Browser) Alle Activities sind gleichgestellt Keine Bevorzugung von nativen Activities wie bspw. der Browser Aufruf des Browsers (aus Vorlesung 4): Uri webpage = Uri.parse("http://www.uni-muenster.de/ZIV/"); Intent webintent = new Intent(Intent.ACTION_VIEW, webpage); startactivity(webintent); Eine eigene Activity mit folgender Konfiguration: <activity android:name=".urlactivity" android:label="url Activity"> <intent-filter> <action android:name="android.intent.action.view"/> <data android:scheme="http"/> </intent-filter> </activity> <action> android.intent.action.view: Die Activity stellt Daten des angebenen Formats dar <data> http: Die Daten müssen das Scheme http erfüllen (Achtung: wirklich nur http, https würde das Datenformat nicht erfüllen!)

8 Programmieren für mobile Endgeräte 8 Implizite Intents (Browser II) Eine weitere Activity sei definiert mit: einer EditText-Komponente für die Eingabe einer URI einem Button, der bei einem Klick den VIEW-Intent einfordert Die URLActivity soll die übergebene URL per WebView anzeigen: public class URLActivity extends Activity { protected void oncreate(bundle savedinstancestate) { Uri uri = getintent().getdata(); if (uri!= null) { WebView view = new WebView(this); view.loadurl(uri.tostring()); LinearLayout layout = (LinearLayout) findviewbyid(r.id.base); layout.addview(view, 0); Achtung: Für den Zugriff auf Internet-Ressourcen benötigt die Applikation eine Erlaubnis im Manifest <uses-permission android:name="android.permission.internet"/>

9 Programmieren für mobile Endgeräte 9 Implizite Intents (Browser III) Ein erster Test zeigt, dass der Default-Browser aufgerufen wird Die <intent-filter> Spezifikationen scheinen zu schwach Die Activity muss die Default-Kategorie erfüllen, um direkt per implizitem Intent aufgerufen werden zu können <activity android:name=".urlactivity" android:label="url Activity"> <intent-filter> <action android:name="android.intent.action.view"/> <category android:name="android.intent.category.default"/> <data android:scheme="http"/> </intent-filter> </activity> Bei einem Klick auf den Goto-Button, wird nun auch die eigene Activity erkannt Der Nutzer muss nun die Entscheidung treffen, welche Activity zu starten ist

10 Programmieren für mobile Endgeräte 10 Implizite Intents (Alternativen) Statt als Default kann man eine Activity auch als Alternative anbieten <category android:name="android.intent.category.alternative"/> <category android:name="android.intent.category.selected_alternative"/> Alternative bedeutet, dass diese Activity nicht direkt aufgerufen, sondern von anderen Activities als Alternative angeboten werden kann SELECTED_ALTERNATIVE deutet dabei an, dass die Activity aus einer Reihe von Activites ausgewählt werden sol Die Beispiel-Activity soll nun um eine Spinner-Komponente erweitert werden, die eine Auswahl aus allen http -Activities anbietet Je nach Auswahl soll die entsprechende Activity per Button gestartet werden

11 Programmieren für mobile Endgeräte 11 Implizite Intents (PackageManager) Über den sogenannten PackageManager (siehe Folie 2) wird nachgefragt, welche Activities einem bestimmten Intent genügen Hier sollen alle http-activities erfragt werden: Intent intent = new Intent(Intent.ACTION_VIEW); intent.setdata(uri.parse("http:").normalizescheme()); List<ResolveInfo> infos = getpackagemanager().queryintentactivities(intent, 0); Die Rückgabe ist eine Liste von ResolveInfos ResolveInfo liefert alle zur Verfügung stehenden Informationen über eine bestimmte Activity Über diese Infos wird der Spinner gefüllt: ArrayList<String> names = new ArrayList<String>(); for (ResolveInfo info : this.infos) { names.add(info.loadlabel(getpackagemanager()).tostring()); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.r.layout.simple_spinner_item, names); adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); Spinner spinner = (Spinner) findviewbyid(r.id.choose_browser); spinner.setadapter(adapter);

12 Programmieren für mobile Endgeräte 12 Implizite Intents (PackageManager II) Anhand der Auswahl wird bei einem Klick ein expliziter Intent durchgeführt: Spinner spinner = (Spinner)findViewById(R.id.choose_browser); int pos = spinner.getselecteditemposition(); ResolveInfo info = this.infos.get(pos); Intent intent = new Intent(); intent.setdata(geturifor(r.id.url_1)); intent.setclassname(info.activityinfo.applicationinfo.packagename, info.activityinfo.name); startactivity(intent); Zuletzt wird die eigene Activity nun als SELECTED_ALTERNATVIE angeboten: <activity android:name=".urlactivity" android:label="url Activity"> <intent-filter> <action android:name="android.intent.action.view"/> <category android:name="android.intent.category.selected_alternative"/> <data android:scheme="http"/> </intent-filter> </activity>

13 Programmieren für mobile Endgeräte 13 Broadcasts Broadcasts sind neben dem Aufruf von Activities und deren Rückgabewerte das dritte Einsatzgebiet von Intents Broadcasts werden genutzt um Nachrichten zwischen Applikationen auszutauschen Nachrichten können applikationsübergreifen verteilt werden Nachrichten werden von BroadcastReceivern entgegen genommen sendbroadcast(intent) Activity Application Application Application Receiver Receiver

14 Programmieren für mobile Endgeräte 14 Broadcasts (Definition) Analog zu den Activities werden Receiver im Manifest definiert Ebenso analog werden Intent-Filter genutzt, um festzulegen auf welche Nachrichten ein Receiver wartet <receiver android:name=".myreceiver"> <intent-filter> <action android:name="android.intent.action.airplane_mode"/> </intent-filter> </receiver> Hier wartet der Receiver vom Typ MyReceiver auf Nachrichten zur Aktion android.intent.action.airplane_mode Manifest-Receiver werden mit dem Aufkommen einer Nachricht erzeugt Handling einer Nachricht durch: Nach der Methode wird der Receiver zerstört public void onreceive(context context, Intent intent); Keine asynchronen Prozesse innerhalb des Receivers Keine aufwendigen Prozesse innerhalb des Receivers (10sec Threshold)

15 Programmieren für mobile Endgeräte 15 Broadcasts (Management) Was wenn ein Receiver keine Nachrichten mehr entgegen nehmen soll? Der PackageManager kann genutzt werden um einen Manifest-Receiver zu deaktivieren: getpackagemanager().setcomponentenabledsetting( new ComponentName(this, MyReceiver.class), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP ); Oder der Receiver wird komplett durch eine Activity verwaltet private MyReceiver receiver = new MyReceiver (); protected void onresume() { super.onresume(); registerreceiver(receiver, new IntentFilter( )); protected void onpause() { super.onpause(); this.unregisterreceiver(receiver);

16 Programmieren für mobile Endgeräte 16 Broadcasts (Beispiel) Als Beispiel soll eine Activity entwickelt werden, die den aktuellen Batteriestatus des Gerätes anzeigt Entsprechende Systemnachricht: Intent.ACTION_BATTERY_CHANGED Als Architektur soll das Listener-Prinzip genutzt werden: onreceive BatteryStateReceiver OnStatusChangesListener register <<implements>> update BatteryActivity View Wie gehabt wird die Activity gleichzeitig der Listener sein

17 Programmieren für mobile Endgeräte 17 Broadcasts (Beispiel II) Receiver + Listener public class BatteryStateReceiver extends BroadcastReceiver { public interface OnStatusChangesListener { public void onstatuschanged(int status); private OnStatusChangesListener listener; public void onreceive(context context, Intent intent) { if (listener == null) return ; int status = intent.getintextra(batterymanager.extra_level, -1); listener.onstatuschanged(status); public class BatteryActivity extends Activity implements BatteryStateReceiver.OnStatusChangesListener { private BatteryStateReceiver receiver = new BatteryStateReceiver(); protected void onresume() { super.onresume(); Intent sticky = registerreceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED) ); int status = sticky.getintextra(batterymanager.extra_level, -1); Log.i(getClass().getName(), "Current battery status: " + status); public void setonstatuschangedlistener( OnStatusChangesListener listener) { this.listener = listener; receiver.setonstatuschangedlistener(this); protected void onpause() { super.onpause(); this.unregisterreceiver(receiver); public void onstatuschanged(int status) { ProgressBar bar = (ProgressBar) findviewbyid( ); bar.setprogress(status); TextView textview = (TextView) findviewbyid( ); textview.settext(status + "%");

18 Programmieren für mobile Endgeräte 18 Batteriestatus im Emulator Batteriestatus im Emulator bleibt konstant Um ihn zu ändern, muss man sich per Telnet mit der Emulator-Console verbinden Beispielsweise über die Command-Zeile (Windows) telnet localhost <console-port> Oder über einen anderen Client (z.b. Putty) Der Port wird in der Titelleiste des Emulator angezeigt Einmal verbunden kann man sich per help Hilfe zu den einzelnen Befehlen holen Zum Ändern des Batteriestatus wird folgender Befehl benötigt: power capacity <0 100>

19 Programmieren für mobile Endgeräte 19 Eigene Intents Bisher lediglich System-Nachrichtigen abgefangen <action>, <category> und <data> sind frei konfigurierbar Als Beispiel soll eine Applikation zum Verwalten von Todos erstellt werden Ein Receiver wird auf Nachrichten warten, die Todo enthalten Eine Activity auf Intents, die das Darstellen aller Todos anfordern Die Aktionsnamen sind: de.wwu.ziv.lehre.android.broadcast.todo_view de.wwu.ziv.lehre.android.broadcast.todo_add Zudem sollen nur Daten vom Data-Scheme todo mit dem Mime-Typ text/plain verarbeitet werden

20 Programmieren für mobile Endgeräte 20 Eigene Intents (Manifest) Manifest.xml <activity android:name=".utilizeactivity android:label="utilize Todo"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name="de.wwu.ziv.lehre.android.broadcast.todoactivity > <intent-filter> <action android:name="de.wwu.ziv.lehre.android.broadcast.todo_view"/> <category android:name="android.intent.category.default"/> <data android:scheme="todo" android:mimetype="text/plain"/> </intent-filter> </activity> <receiver android:name=".todoreceiver"> <intent-filter> <action android:name="de.wwu.ziv.lehre.android.broadcast.todo_add"/> <data android:scheme="todo" android:mimetype="text/plain"/> </intent-filter> </receiver> Test-Activity MAIN LAUNCHER View-Activity TODO_VIEW DEFAULT text/plain, todo Receiver TODO_ADD text/plan, todo

21 Programmieren für mobile Endgeräte 21 Eigene Intents (Persistenz) Der Receiver wird zum Auswerten der Todo-Daten erzeugt Nach der Auswertung allerdings umgehend zerstört Die View-Activity wird ebenfalls erst auf Anforderung gestartet und evtl. vom System zerstört Damit Daten den Aufruf des Receivers oder der Activity überleben, müssen sie persistent gespeichert werden Persistenz im Android-Umfeld ist Thema einer späteren Vorlesung Für das Beispiel sei angenommen, dass es magische Klasse Persistence gibt, die das Speichern der Todo-Daten in eine Datei übernimmt Im großen und ganzen unterscheidet sich das Lesen/Schreiben in eine Datei nicht groß vom normalen Java

22 Programmieren für mobile Endgeräte 22 Eigene Intents (TodoItem, TodoReceiver) public class TodoItem { private String text; TodoItem kapselt die Todo-Daten public TodoItem() { public void settext(string text) {this.text = text; public String gettext() {return text; public String tostring() { return this.text == null? "N/A" : this.text; public class TodoReceiver extends BoadcastReceiver { public void onreceive(context context, Intent intent) { try { Bundle bundle = intent.getextras(); Persistence.saveBundle(context, bundle, "todo.temp"); Log.i(getClass().getName(), "New todo bundle received."); catch (Exception e) { Log.e(getClass().getName(), e.getmessage()); Extra-Daten werden über putextra an ein Intent angehangen Diese Daten werden in einem Bundle (Schlüssel-Werte-Tabelle) mitgeliefert Das Bundle wird über Persistence gespeichert

23 Programmieren für mobile Endgeräte 23 Eigene Intents (Todo-Activity) public class TodoActivity extends ListActivity { private List<TodoItem> items; erweitert ListActivity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_todo); try {items = loaditems(); catch (Exception e) items = new ArrayList<TodoItem>(); setlistadapter(new ArrayAdapter<TodoItem>( )); oncreate alle Todo-Daten laden public List<TodoItem> loaditems() throws IOException { List<TodoItem> items = new ArrayList<TodoItem>(); List<Bundle> bundles = Persistence.loadBundles( this, "todo.temp ) for (Bundle bundle : bundles) items.add(createitemfrombundle(bundle)); return items; public TodoItem createitemfrombundle(bundle bundle) { TodoItem item = new TodoItem(); item.settext(bundle.getstring("todo.text")); // return item; Dazu die Daten als Liste von Bundles über Persistence anfragen Anhand der Daten die Todo-Objekte erzeugten Bundle-Daten auf die Todo-Klasse mappen

24 Programmieren für mobile Endgeräte 24 Eigene Intents (Persistenz) Es fehlt noch eine Test-Activity, die Daten zum erstellen eines Todo- Objektes aufnimmt Diese Daten werden dann per Broadcast verteilt Intent intent = new Intent("de.wwu.ziv.lehre.android.broadcast.TODO_ADD";); intent.setdataandtype(uri.parse("todo:"), "text/plain"); EditText textview = (EditText) findviewbyid( ); intent.putextra("todo.text", textview.gettext().tostring()); // this.sendbroadcast(intent);

25 Programmieren für mobile Endgeräte 25 Aufgabe Binden Sie das Beispiel-Projekt Broadcast in Ihren Workspace ein 1.Erweitern Sie das Datenmodel Todo um ein weitere Eigenschaft Priorität, welche die Werte NIEDRIG, MITTEL und HOCH annehmen kann 2.Erweitern Sie die Test-Activity und View-Activity so, dass eine Priorität in der Test-Activity angegeben werden kann und diese in der View-Activity mit ausgegeben wird 3.Schreiben Sie einen eigenen Receiver für die folgende Aktion de.wwu.ziv.lehre.android.broadcast.todo_remove Wird ein Intent zu dieser Aktion entgegengenommen, so soll das erste Elemente der ToDo-Liste gelöscht werden (Persistence.removeBundleAtIndex( )) Die Test-Activity sollte um einen Button erweitert, der einen Intent mit für die obige Aktion per Broadcast absendet

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

Einführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter

Einführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter Einführung in die Android App-Entwicklung Patrick Treyer und Jannis Pinter Agenda Was ist Android? Android Versionen Layout, Strings und das Android Manifest Activities, Intents und Services Entwicklungsumgebung

Mehr

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

Ü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. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

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

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

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

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

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

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

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

NFC Near Field Communication 30.04.2013

NFC Near Field Communication 30.04.2013 NFC Near Field Communication 30.04.2013 NFC Near Field Communication Standard für kontaktlose Kommunikation auf Basis von RFID (radiofrequency identification) Fast Verschiedene RFID-Standards im 13,56

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

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

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

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

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

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

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

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

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

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

Mobile App Development. - Einführung -

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

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Auszug aus JAX-WS Folien

Auszug aus JAX-WS Folien Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen

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

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

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 Inhalt Toast-Meldungen Permissions Sensoren GPS (Global Positioning System) Kamera Anzeigen von Koordinaten auf einer

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

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

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4. ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Überleben im Funkloch

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

Mehr

Mobile App Development. - Intents -

Mobile App Development. - Intents - Mobile App Development - Intents - Inhalt Intents Intent-Resolution Intent-Filter Broadcast Receiver Intents Intents engl.: Absicht, Vorsatz, Zweck passive Datenstruktur, Nachrichtenpaket enthält: abstrakte

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

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

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

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

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

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

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

Grundlagen der Programmierung Prof. H. Mössenböck. 16. Ausnahmen (Exception Handling)

Grundlagen der Programmierung Prof. H. Mössenböck. 16. Ausnahmen (Exception Handling) Grundlagen der Programmierung Prof. H. Mössenböck 16. Ausnahmen (Exception Handling) Motivation Fehler können nicht immer dort behandelt werden, wo sie auftreten void p() { q(); Lösung void q() { r();

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

Interface. So werden Interfaces gemacht

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

Mehr

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

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

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

Mobile App Development. - Alarm -

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

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

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

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

Programmierkonzepte von Android am Beispiel

Programmierkonzepte von Android am Beispiel Programmierkonzepte von Android am Beispiel Dominik Gruntz, Jörg Pleumann Android ist eine Open-Source-Plattform fur mobile Gerate. In JavaSPEKTRUM wurde schon ein Uberblick uber Android gegeben. In diesem

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

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

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung

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

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface

Mehr

Mobile App Development - Multitasking -

Mobile App Development - Multitasking - Mobile App Development - Multitasking - Inhalt Threading Services Service Lifecycle Gestartete Services Gebundene Services Threading Threading Standard Java Threads Thread Runnable volatile & synchronized

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

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Warum EJB Technologie (1)?

Warum EJB Technologie (1)? Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie

Mehr

Android Intents und der Life Cycle Android Kurs Stufe 2 (Orangegurt)

Android Intents und der Life Cycle Android Kurs Stufe 2 (Orangegurt) Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Überblick Orangegurt... 2 2 Life Cycle einer Activity... 2 2.1 Der Einstieg in eine Activity... 4 2.2 Speichern des Activity-Status... 4 3 Intents...

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

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Reflection. Arthur Zaczek. Nov 2014

Reflection. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Einleitung 1.1 Definition Reflection ist das Auslesen von Metainformationen über Klassen, deren Methoden & Eigenschaften zur Laufzeit. 1.2 Anwendungsfälle Analyse von Programmen

Mehr

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl.

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl. Vorbereitungen Download AVO-Übung ICE Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS005 Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation

Mehr

Android - Basics. 16.10.2013 Praktikum Enwicklung von Mediensystemen WS13/14

Android - Basics. 16.10.2013 Praktikum Enwicklung von Mediensystemen WS13/14 Android - Basics 1 Heute Was ist Android? Programmieren für Android App-Struktur Activities und Intents App-Design GUI und Layout 2 Android in a nutshell Open-Source (Open Headset Alliance) Basiert auf

Mehr

Algorithmen und Datenstrukturen

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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Oliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?

Oliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring? oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero Exceptions Prof. Dr. Margarita Esponda SS 2012 1 Ausnahmen Eine Ausnahme (Exception) ist ein Fehler oder ein nicht geplantes Ereignis, das während der Ausführung eines Programms vorkommt und dessen normalen

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

Listing 1: Cowboy. Listing 2: Woody

Listing 1: Cowboy. Listing 2: Woody Musterlösung Test 3 Aufgabe 1: Cowboy Listing 1: Cowboy class Cowboy { public String rope ( Cowboy that ) { if ( this == that ) { return exclaim (); 5 else { return " Caught "; public String exclaim ()

Mehr

Allgemeine Informatik II SS :30-13:30 Uhr

Allgemeine Informatik II SS :30-13:30 Uhr TU Darmstadt FB Informatik Prof. J. Fürnkranz Vordiplomsklausur - Lösungsvorschlag Allgemeine Informatik II SS 2005 15.09.2005 11:30-13:30 Uhr Hinweise: Als Hilfsmittel ist nur ein schwarzer oder blauer

Mehr

Bean-Mapping mit MapStruct

Bean-Mapping mit MapStruct Machst Du noch Reflection oder annotierst Du schon? Bean-Mapping mit MapStruct Thomas Much thomas@muchsoft.com www.muchsoft.com 1 20 Jahre Java, 18 Jahre Beans JavaBeans JAXBEntities 2015 2006 2005 2000

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Seite - 1 - 8. Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung

Seite - 1 - 8. Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung 8. Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung Sie konfigurieren den OOBA, um die Webzugriffe mit HTTP ins Internet zu kontrollieren. Das Aufrufen von Webseiten ist nur authentifizierten Benutzern

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer

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

Ü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

Factory Method (Virtual Constructor)

Factory Method (Virtual Constructor) Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 10: Ein Interpreter für While Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

Parallele Prozesse. Prozeß wartet

Parallele Prozesse. Prozeß wartet Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Variablen manipulieren per JDI

Variablen manipulieren per JDI Variablen manipulieren per JDI Zusammenfassung Jede moderne Java IDE verfügt über eine mächtige und dennoch meist einfach zu bedienende Benutzeroberfläche die das finden von Fehlern in lokalen oder entfernt

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