Projektdokumentation. Erweiterte Realität am Fallbeispiel eines Smartphones

Größe: px
Ab Seite anzeigen:

Download "Projektdokumentation. Erweiterte Realität am Fallbeispiel eines Smartphones"

Transkript

1 Projektdokumentation Hochschule Fulda Wintersemester 2010/2011

2 Inhaltsverzeichnis 1. Einleitung 2 2. Vorbereitung Augmented Reality Einarbeitung in die Entwicklungsumgebung von Android Das Betriebssystem Android und dessen Entwicklungsumgebung Android SDK, Eclipse und ADT Debuggen mittels ADB, DDMS Augmented Reality beispielhafte Umsetzung für Android Erste Schritte Zugriff auf die Kamera OpenGL ES Objekte erstellen und einbinden Sensorwerte auslesen und benutzen GPS-Daten auslesen und benutzen OpenGL ES Objekte innerhalb des Kamerabildes anzeigen lassen Mit Hilfe der Sensorwerte, OpenGL ES Objekte dynamisch im Raum bewegen lassen Persönliches Fazit Anhang Seite 1 / 27

3 1. Einleitung Anhand dieses Projektes möchte ich einen Einblick in die Augmented Reality (dt. Erweiterte Realität) geben und anhand einer Beispielanwendung für ein Smartphone zeigen, wie man solch eine Anwendung umsetzen könnte. Die Idee zu diesem Projekt kam mir einerseits durch meine Interesse an Googles neuem mobilen Betriebssystem Android und andererseits durch den immer größeren werden Hype rund um das Thema Augmented Reality. In den verschiedensten Medien setzt man sich mit diesem Thema auseinander. Erste Anwendungen für verschiedene Smartphones und Spielekonsolen sind bereits entworfen wurden. Einige Marketing-Abteilungen setzen bereits auf Augmented Reality, um Kunden ein interessanteres und umfangreiches Angebot präsentieren zu können. Alle Anwendungen haben eins gemeinsam: sie verwenden Endgeräte und binden mit Hilfe von Sensoren und Kameras virtuelle Objekte in das Display des Endgerätes ein. Was nun genau mit Augmented Reality gemeint ist, möchte ich im nächsten Kapitel kurz erläutern. Für ein auf Android basierendes Smartphone soll eine solche Anwendung beispielhaft umgesetzt werden. Aufgrund des engen Zeitrahmens habe ich mich nur auf die wesentlichen Grundstrukturen für die Entwicklung einer Augmented Reality Anwendung begrenzt. Diese sollen aber einen guten Einstieg in die Entwicklung vermitteln und Anreiz bieten, weit aus komplexere Anwendungen zu gestalten. Voraussetzungen hierfür sind neben Kenntnissen in der Programmiersprache JAVA auch Geduld und genügend Zeit, die die Einarbeitungszeit für sich beanspruchen wird. Zunächst soll ein Einblick in die Entwicklungsumgebung von Android gegeben werden, welche die ersten Schritte bis hin zur ersten eigenen Anwendung erklärt. Da auch das Debuggen und die Fehlersuche immer hilfreich sein können, werde ich auch hierzu ein paar Worte schreiben Seite 2 / 27

4 Im Anschluss daran werden die Grundstrukturen einer Augmented Reality Anwendung für Android vorgestellt und gezeigt, wie diese umgesetzt werden können. 2. Vorbereitung 2.1 Augmented Reality Am Anfang meines Projektes stand für mich zunächst die Informationsbeschaffung und die Auseinandersetzung mit der Frage Was ist Augmented Reality eigentlich? an. Des Weiteren war es wichtig für mich, mich in die Entwicklungsumgebung von Android einzuarbeiten und mich mit der Programmierung einer Anwendung für ein auf Android basierendes Smartphone vertraut zu werden. Zum Thema Augmented Reality verfolgte ich neben diversen Blogeinträgen insbesondere im Social Network Twitter Beiträge zu diesem Thema, da hier relativ viele Informationen innerhalb des gesamten Zeitrahmens gefunden werden konnten. Man muss beachten, dass dieses Thema zur Zeit einen richtigen Ansturm erlebt und es eine Fülle an Informationen gibt. Unter all diesen Informationen fanden sich bereits Anwendungen, die das Konzept der Augmented Reality gut umsetzten. Das Konzept der Augmented Reality besteht darin, durch eine Kombination von virtueller Realität mit der Realität dem Benutzer zusätzliche Informationen im Form von Textnachrichten oder grafischen Objekten in Echtzeit anzubieten, die kontextabhängig dargestellt werden. Die Einblendung dieser Informationen geschieht meist über das Sichtfeld des Benutzers, beispielsweise über ein Display eines Smartphones oder einer Datenbrille. So wird das reale Sichtfeld eines Seite 3 / 27

5 Touristen beispielsweise durch auf seinem Smartphone-Display eingeblendete Hinweise und Erklärungen zum aktuellen Standort erweitert. Die Anwendung Layar sei hierfür als Beispiel genannt. Abb. 1: Layar: The first mobile augmented reality browser, SHAWN HONNICK, ; Stand: Im Bereich der Spieleindustrie hat die Augmented Reality ebenfalls erste Fortschritte gemacht. Als Beispiel sei hier Kinect genannt. Ein System zur Bewegungssteuerung auf der Xbox360. Lediglich über drei verschiedene Kameras wird der gesamte Körper des Spielers analysiert und Bewegungen entsprechend umgesetzt. Die Anwendungszwecke einer Augmented Reality Anwendung reichen also von Spielen, über die ins Sichtfeld projektierte Navigation bis hin zu Informationen über die unmittelbare Umgebung Seite 4 / 27

6 2.3 Einarbeitung in die Entwicklungsumgebung von Android Die Einarbeitung in die Entwicklungsumgebung von Android nahm ich mir anhand verschiedener Tutorials vor. Dazu verwendete ich neben neu erschienener Literatur, die sich mit diesem Thema auseinandersetzte, auch diverse Artikel aus Fachzeitschriften, die in die Programmierung einführten, Details und Struktur von Android erklärten und anhand von kleineren Anwendungsfällen ebenfalls erste Schritte zur eigenen Anwendungen führten. Sämtlich verwendete Literatur kann dem Literaturverzeichnis entnommen werden. 3. Das Betriebssystem Android und dessen Entwicklungsumgebung Bei Android handelt es sich um eine Linux-Plattform, die von der Open Handset Alliance (OHA) ständig weiterentwickelt und als Open-Source-Software zur Verfügung gestellt wird. Die OHA umfasst mittlerweile 79 Mitglieder, darunter zahlreiche bekannte Firmen der mobilen Welt. Android ist inzwischen nicht nur auf Smartphones im Einsatz, sondern auch auf Tablets, in Googles TV-Plattform und im Automobilbereich. Die Anwendungen für Android werden üblicherweise in Java geschrieben, die dann unter einer virtuellen Maschine namens Dalvik laufen (DVM). Dalvik ähnelt der Java Virtual Machine (JVM), denn beide führen letztendlich Byte-Code aus. Allerdings unterscheidet sich die Prozessorarchitektur: im Gegensatz zu einer JVM, die auf Stapelmaschinen aufbaut, baut DVM auf einer Registermaschine auf. Übersetzte Anwendungen enden daher auch nicht auf *.class sondern auf *.dex. Folgende Abbildungen soll dies verdeutlichen: Seite 5 / 27

7 Android App.java APK Android Java APIs Dalvik VM Native Bibliotheken Linux Kernel Abb. 2: vgl. Schichtung des Android-Systems, Markus Junginer; ix Androiden auf dem Vormarsch S. 18ff.class.jar xml Dateien Abb. 3: vgl. Wie ein Android Package entsteht, Markus Junginer; ix Androiden auf dem Vormarsch S. 18ff.dex Binär-XML Dateien Ausgeführte Android-Anwendungen werden als eigener Prozess ausgeführt, was zu einer erhöhten Sicherheit und Stabilität führt. Des Weiteren können mehrere Anwendungs-Prozesse aktiv zur gleichen Zeit laufen. Im Hintergrund laufende Anwendungen werden vom System automatisch nach einer bestimmten Zeit beendet, oder wenn Ressourcen zurückgeholt werden müssen. Das Besondere an Android-Anwendungen ist die Zuordnung von Aktivitäten (Activities), die letztendlich die Schnittstelle zum Benutzer darstellen. Es kann immer nur eine Aktivität einer Anwendung aktiv sein, mit der der Nutzer interagieren kann. Für die Entwicklung von Android-Anwendungen ist es essentiell, den Lebenszyklus von Aktivitäten und deren Zusammenspiel mit dem Anwendungsprozess zu verstehen. Folgende Abbildung soll einen vereinfachten Lebenszyklus einer Aktivität darstellen, die durch Aufruf der Callback-Methoden interagiert: Seite 6 / 27

8 Activity gestoppt, wird eventuell noch mal ausgeführt oncreate onresume Activity läuft Activity wird fortgesetzt onpause - mit Aufruf einer Aktivität, wird ein Activity-Objekt erstellt - Initialisierung folgt durch Aufruf von oncreate-methode - onresume-methode holt die Aktivität in den Vordergrund - wird die Aktivität verlassen, wird onpause-methode aufgerufen 1 (weitere weniger relevante Callback-Methoden sind der SDK-Dokumentation zu entnehmen) Für die Entwicklung von Android-Anwendungen in der Praxis empfiehlt sich der Einsatz von Eclipse mit installierten Android Development Tools (ADT). Alternativen wären Ant 2 oder IntelliJ IDEA Grundvoraussetzung ist die Installation des Android SDK und natürlich einer vorhandenen JVM. Im Folgenden möchte ich die Installation des Android SDK und die Einrichtung der Entwicklungsplattform Eclipse erläutern Seite 7 / 27

9 3.1 Android SDK, Eclipse und ADT Unter der Internetadresse finden sich Installationsanweisungen. Im Prinzip muss das entsprechende Paket heruntergeladen, ausgeführt und installiert werden. Anschließend wird in Eclipse über Help Install New Software Add Sites die Adresse hinzugefügt und ein entsprechender Name vergeben. Per Update Funktion kann nun in Eclipse der Android Device Manager installiert und konfiguriert werden. Zum Schluss muss Eclipse nur noch der Pfad zum installierten Android SDK mitgeteilt werden. Dazu unter Windows Preferences öffnen, Android auswählen und den entsprechenden Pfad angeben Seite 8 / 27

10 Der Android Device Manager sollte nun in der Lager sein, alle zur Verfügung stehenden Android Plattformen herunterzuladen und einzurichten Seite 9 / 27

11 Wurde alles ordnungsgemäß eingerichtet, kann nun über File New Other Android Android Project ein Android Projekt erstellt werden: Seite 10 / 27

12 3.2 Debuggen mittels ADB, DDMS Bei der Entwicklung von Softwareprodukten ist es essentiell, die erstellte Software auf Fehler zu überprüfen oder ausgegebene Fehlermeldungen zu analysieren und zu beheben. Allerdings sind Fehler auf echten Android Geräten zur Laufzeit schwerer zu entdecken. Hinzu kommt, dass sich der Android Emulator von den echten mobilen Geräten im Verhalten unterscheidet. Mit Unterstützung der bereitgestellten Tools, Hilfsmittel und Techniken soll die Fehlersuche schneller von Statten gehen. Eines der vom Android SDK zur Verfügung gestelltes Programm ist die Android Debug Brigde (ADB), die eine Verbindung zwischen ADT und dem Emulator. Des Weiteren ermöglicht die ADB es, auf laufendem Programmcode des Emulator oder eines angeschlossenes Android-Smartphones zuzugreifen. Dabei stellt ADB neben Befehlen für Kopieren, Installieren von Dateien bzw. Anwendungen, Auslesen von System-Log-Einträgen auch eine Remote Shell zur Verfügung. In Eclipse ist die ADB bereits durch das Plugin ADT integriert. Mittels des Dalvik Debug Monitor Service (DDMS) lassen sich Anwendungsprozesse auf einem Android-Smartphone oder im Emulator überwachen. Der DDMS ähnelt den bereits bekannten Debuggen eines Java- Programms. Viele Funktionen der ADB lassen sich von hier aus bequem steuern, da diese integriert ist. Des Weiteren ist es möglich Screenshots aufzunehmen, eine Port-Weiterleitung einzurichten, SMS, GPS-Daten und Anrufe zu simulieren sowie thread- und heap-eigenschaften auszulesen. Um das Debugging auf einem Android-Smartphone zu starten, muss neben der Seite 11 / 27

13 korrekten USB-Treiberinstallation für das jeweilige Betriebssystem (wird normalerweise mit der Android SDK Installation vorgenommen, weitere Informationen findet man in der Dokumentation 4 ) auch der Debugger-Modus auf dem Android-Smartphone selbst eingestellt sein. Entsprechende Einstellung hierzu findet man unter Einstellungen Anwendungen Entwicklung Häkchen bei USB-Debugging. Der Punkt Falsche Standorte ermöglicht es, GPS-Daten zu simulieren. Abschließend muss noch ein Eintrag im Android-Manifest vorgenommen werden. Das <application>-tag muss um das Attribut android:debugable= true erweitert werden. Da sich das Betriebssystem Android seit seinem Erscheinen schnell weiterentwickelt hat, ist es für Entwickler erforderlich, sich stets über Aktualisierungen und Neuerungen zu informieren. Sind die grundlegenden Fakten, wie der Aktivitäten-Lebenszyklus verstanden, sollte die Entwicklung von Android-Anwendungen nicht schwer fallen. Dennoch bietet die API stets Neuigkeiten und Herausforderungen, allein die Gestaltung eines professionellen Userinterfaces erfordert viel Erfahrung. Die SDK Dokumentation bietet hier jedoch einen ersten Einstieg, auch wenn sie meines Erachtens noch recht mager ausfällt Seite 12 / 27

14 4. Augmented Reality beispielhafte Umsetzung für Android Es gibt unterschiedliche Ansätze für Augmented Reality auf mobilen Endgeräten. Neben Bilderkennung von QR-Codes (zweidimensionaler Strichcode), Abfrage von GPS-Daten und/oder Sensorwerten, ist auch eine komplette Überlagerung der Realität mit erweiterten virtuellen Objekten möglich. Ich möchte im Folgenden die Ansätze zur Realisierung einer Augmented Reality Anwendungen erläutern. Für die Realisierung verwende ich ein Android-Smartphone von Samsung, das Galaxy S i9000, mit der zur Zeit aktuellen Android Version 2.2 (Froyo). Leider ist es mir aufgrund eines Fehlverhaltens meines Smartphones nicht möglich, die sensorbasierende Bewegung von OpenGL ES Objekten zu realisieren. Ich werde die Grundzüge aber vorstellen. Alle Codeschnipsel sind in der Verzeichnisstruktur aufgeführt und befinden sich vollständig im Dateiverzeichnis dieser Ausarbeitung. 4.1 Erste Schritte Zunächst muss die Aktivität für die Anwendung angelegt werden. Diese wird für die späteren Abläufe benötigt. Mit Erstellung eines neuen Android-Projektes wird dies vorgenommen. Folgender Code-Ausschnitt sollte dies darstellen: public class ersteaktivitaet extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate (savedinstancestate); setcontentview(r.layout.main); Wie bereits erwähnt, wird für den Anwendungs-Prozesse eine Aktivität mittels der oncreate-methode erstellt. Der Aufruf von der setcontentview-methode kümmert sich um das Layout, welches aus den Ressourcen geladen werden kann. Das Seite 13 / 27

15 Layout kann auch im Android-Manifest festgelegt werden. Nähere Informationen sind der Dokumentation 5 zu entnehmen. Je nach Hardware-Zugriff muss im Android-Manifest eine entsprechende Regelung festgelegt werden sonst bleibt der Zugriff verwehrt. Entsprechende Einträge kann man ebenfalls der Dokumentation 6 entnehmen. 4.2 Zugriff auf die Kamera Um nun auf die Kamera zuzugreifen, muss die setcontentview-methode so angepasst werden, dass das Vorschaubild der Kamera direkt eingebunden wird. public class Kamerabenutzung extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate public void onresume () { super.onresume(); setcontentview(new PreviewCamera (this)); Mit Ausführung der Aktivität wird ein sogenannter SurfaceView der Klasse PreviewCamera als Layout definiert. Die Klasse PreviewCamera ist hierbei für das Kamerabild verantwortlich, welches sie entsprechend darstellt. Die Klasse PreviewCamera muss hier die Klassen SurfaceHolder und SurfaceView implementieren. Die entsprechenden zu überschreibenden Methoden würden wie folgt aussehen: Seite 14 / 27

16 Camera camera; public PreviewCamera (Context context)extends SurfaceView implements SurfaceHolder.Callback { super (context); // TODO Auto-generated constructor stub getholder ().addcallback (this); getholder ().settype (SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); Die Variable camera dient zum Ansprechen der Hardwarekamera. Um Änderungen (Bild, Frame) der Kamera abzufragen, muss ein SurfaceHolder implementiert werden, der über einen entsprechenden SurfaceListener abgefragt public void surfacecreated (SurfaceHolder holder) { // TODO Auto-generated method stub camera = Camera.open (); try { camera.setpreviewdisplay (this.getholder ()); catch (IOException e) { Log.e("Camera", "camera.setpreviewdisplay(holder);"); public void surfacedestroyed (SurfaceHolder holder) { // TODO Auto-generated method stub try { camera.stoppreview (); camera.release (); catch (Exception e) { Log.e("Camera", e.getmessage()); Seite 15 / 27

17 Nur so ist es möglich, stets das aktuelle Bild der Kamera auf dem Display auszugeben. 4.3 OpenGL ES Objekte erstellen und einbinden Möchte man lediglich ein graphisches Objekt auf dem Display anzeigen lassen, so muss ebenfalls ein SurfaceView festgelegt werden, der vom Typ als SURFACE_TYPE_GPU festgelegt wird. Um entsprechende Methoden für OpenGL ES Objekte verwenden zu können müssen einige Klassen importiert werden. Android bietet hierzu neben der Klasse android.opengl.glu auch OpenGL ES über entsprechende Klassenbibliotheken an. Für die Beispielanwendung habe ich das Listing zu OpenGL ES aus dem Buch Android Anwendungen für das Handybetriebssystem erfolgreich programmieren von Heiko Mosemann und Matthias Kose verwendet. Es ist ebenfalls im Dateiverzeichnis vorhanden (Listing 16.3, Listing 16.4, Listing 16.5, Listing 16.6). Die Darstellung eines OpenGL ES Objektes entspricht im größten Teil der bisher bekannten Art und Weise wie übliche OpenGL Objeke dargestellt werden. In der init-methode werden alle relevanten Dinge für OpenGL ES initialisiert, über die getegl-methode wird eine Instanz festgelegt, die über die eglgetdisplay- Methode eine Verbindung zur Render-Ausgabe herstellt. Mittels der eglinitialize- Methode wird der EGL-Kontext geschaffen Seite 16 / 27

18 Seite 17 / 27

19 4.4Sensorwerte auslesen und benutzen Android-Smartphones bieten in der Regel zahlreiche Sensoren an, die ausgelesen werden können. Neben Bewegungs-, Beschleunigungssensoren, gibt es unter anderem auch magnetische Sensoren und Lagesensoren. Die Implementierung gestaltet sich relativ einfach: public class Sensoren extends Activity implements SensorEventListener { SensorManager sensor = null; final String tag = "Sensor"; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); sensor = (SensorManager) getsystemservice(sensor_service); public void onaccuracychanged(sensor sensor, int accuracy) { // TODO Auto-generated method public void onsensorchanged(sensorevent event) { // TODO Auto-generated method stub public void onaccuracychanged(int sensor, int accuracy) { // TODO Auto-generated method stub Log.d(tag,"onAccuracyChanged: " + sensor + ", accuracy: " + accuracy); public void onsensorchanged(int sensor, float[] values) { // TODO Auto-generated method stub Log.d(tag, "onsensorchanged: " + sensor + ", x: " + values[0] + ", y: " + values[1] + ", z: " + values[2]); Zunächst muss die Klasse Sensoren einen SensorEventListener implementieren, Seite 18 / 27

20 der auf Ereignisse reagiert. Die Variable sensor vom Typ Sensormanager wird ein Sensortyp zugewiesen. Wenn nicht bekannt ist, welche Sensoren zur Verfügung stehen oder alle Sensoren abgefragt werden sollen, kann dies über SENSOR_SERVICE getätigt werden. Spätere Abfragen, um welchen Sensore es sich handelt sind möglich. Bei Änderungen sollen jeweils Log-Einträge verfasst werden. 4.5GPS-Daten auslesen und benutzen Ähnlich wie die Sensoren lassen sich auch die GPS Daten relativ einfach auslesen. Aus Platzgründen werde ich nur die relevanten Methoden hier vorstellen. Der kompletten Quelltext kann im Dateiverzeichnis betrachtet werden. public class GPS extends Activity implements LocationListener { LocationManager standort; final String tag = "GPS"; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); standort = (LocationManager) getsystemservice(location_service); Die Klasse GPS muss, um GPS-Daten abfragen zu können, die Klasse LocationListener implementieren. Dadurch ist es möglich, Standortänderungen wahrzunehmen, Abfragen zum GPS-Status zu stellen und ggf. die Aktualisierung vorübergehend zu deaktivieren um Batterie zu sparen, zum Beispiel wenn der Anwendungs-Prozesse in den Hintergrund gerät Seite 19 / 27

21 @Override protected void onresume() { standort.requestlocationupdates(locationmanager.gps_provider, 5000, 10f, this); protected void onpause() { standort.removeupdates(this); super.onresume(); Sobald die Anwendung ausgeführt wird, soll der aktuelle GPS-Standort erfragt werden. Hierzu wird die onresume-methode überschrieben und der Variablen standort ein LocationListener hinzugefügt, der alle 5 Sekunden oder 10 Meter aktualisiert werden soll. Bei Unterbrechungen (Hintergrundprozess) soll die Aktualisierung deaktiviert werden. Hierzu wird die onpause-methode entsprechend überschrieben. 4.6OpenGL ES Objekte innerhalb des Kamerabildes anzeigen lassen Wie im vorherigen Teil angesprochen, muss ein SurfaceView angelegt werden, um auf dem Display eine entsprechende Ausgabe von der Kamera oder einem OpenGL ES Objekt zu erhalten. Wenn man nun beide Aspekte miteinander verbinden will, bedeutet dies, dass man im Prinzip zwei SurfaceView miteinander verbinden muss. Um es besser zu verstehen, kann man dies sich als zwei Ebenen vorstellen, die übereinander gelegt werden. Hier muss man allerdings beachten, dass eine der Ebenen, vorzugsweise die, die für die OpenGL ES Objekte verantwortlich ist, nur einen Teilbereich des anderen SurfaceViews ausfüllt und transparent dargestellt wird. Ansonsten sieht man im wahrsten Sinne des Wortes nur schwarz Seite 20 / 27

22 @Override public void onresume () { super.onresume(); glview = new GLLayer(this); previewcam = new PreviewCamera(this, glview); setcontentview (glview); addcontentview(previewcam, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); Es werden hier zwei SurfaceViews angelegt, wovon das erste (glview) für die Darstellung des OpenGL ES Objektes zuständig ist und previewcam sich um die Darstellung des Kamerabildes kümmert. Die Variable previecam ist wie im Beispiel für die Kamera implementiert wurden, also vom Typ PrevieCam. Die Klasse PreviewCam wurde genauso implementiert wie im Beispiel für die Kamera angegeben. Lediglich eine zusätzliche Implementierung der Klasse PreviewCallback führt zu einer zusäzlichen public void onpreviewframe(byte[] arg0, Camera arg1) { if (callback!=null) callback.onpreviewframe(arg0, arg1); und um eine Zeile mehr in der surfacecreated-methode: Seite 21 / 27

23 @Override public void surfacecreated (SurfaceHolder holder) { // TODO Auto-generated method stub synchronized(this) { camera = Camera.open (); Parameters param = camera.getparameters (); param.setpreviewsize(240, 120); camera.setparameters(param); try { camera.setpreviewdisplay (this.getholder ()); catch (IOException e) { Log.e("Camera", "camera.setpreviewdisplay(holder);"); camera.startpreview(); camera.setpreviewcallback(this); setpreviewcallback ist hierbei hinzugekommen. Diese Methode wird aufgerufen, sobald eine neues Frame dargestellt wurde. Für die Darstellung des OpenGL ES Objektes kann ein beliebiges OpenGL ES Objekt nun verwendet werden. Da bereits in einem früheren Abschnitt OpenGL ES erklärt wurde, verzichte ich hier darauf. Es sei lediglich darauf hingewiesen, dass für die Darstellung des OpenGL ES Objektes folgende Vereinbarung im jeweiligen Konstruktur getroffen werden muss: public GLView (Context context) { super (context); // We want an 8888 pixel format because that's required for // a translucent window. // And we want a depth buffer. this.seteglconfigchooser(8, 8, 8, 8, 16, 0); this.setrenderer(this); this.getholder().setformat(pixelformat.translucent); Die Angabe von PixelFormat.TRANSLUCENT ist erforderlich, da sonst keine Seite 22 / 27

24 Überblendung mit dem Kamerabild stattfinden würde. 4.7Mit Hilfe der Sensorwerte, OpenGL ES Objekte dynamisch im Raum bewegen lassen Für diesen Abschnitt hatte ich mir eigentlich vorgenommen, die zuvor vorgestellten Konzepte miteinander zu kombinieren und so eine kleine Beispielanwendung für Augmented Reality zu entwerfen. Allerdings musste ich zu der Erkenntnis kommen, dass ich entweder einen Fehler in meiner Anwendung habe, oder die Herangehensweise völlig falsch war. Denn so recht funktionieren wollte es nicht. Die Überlagerung zweier SurfaceViews klappt soweit, sobald aber Sensorwerte mit abgefragt werden sollen, wird mir auf meinem Smartphone lediglich ein schwarzes Display angezeigt und die Anwendung stürzt ab. Auf der Suche nach der Fehlerquelle hatte ich Log-Einträge ausgelesen und im Debugger-Modus die Anwendung analysiert. Ich konnte keine Fehlerquelle ausfindig machen. 7 Auf der Suche nach Rat bin ich im Internet auf eine Beispielanwendung gestoßen, die mehrere Würfel im Display abhängig vom Beschleunigungssensoren und Orientierungssensor darstellen soll. Es gibt sogar eine Demo 8, die man sich auf seinen Smartphone installieren kann. Diese Demo hatte ich bei mir installiert und das Ergebnis war keine Freude: auch hier begrüßte die Anwendung mich mit einem schwarzen Display und stürzte kurz darauf ab. Ein Kommentar auf der Website weist darauf hin, dass die Anwendung nicht auf einem Samsung Galaxy S laufen würde. Ich hatte probiert, es über andere Möglichkeiten zu realisieren, bin jedoch in der restlichen Zeit zu keinem brauchbaren Ergebnis gekommen Seite 23 / 27

25 5. Persönliches Fazit Lehrveranstaltung Graphisch Interaktive Systeme WS 2010/2011 Trotz der aufgetretenen Probleme hat mir die Arbeit an diesem Projekt sehr viel Spaß gemacht. Die Zeit, in der ich Debug-Meldungen betrachte, auswertete und versuchte mögliche Fehlerquellen zu eliminieren werde ich wohl nicht so schnell vergessen. Ich werde mich dennoch weiterhin mit der Programmierung von Android Anwendungen auseinandersetzen. Allein nur um den Einblick, den ich durch diese praxisnahe Erfahrung gewonnen habe, weiter zu vertiefen. Die Vorlesung Graphisch Interaktive Systeme bietet meines Erachtens genau den richtigen Rahmen, um sich mit hoch interessanten und aktuellen Themen auseinandersetzen und so seine ersten persönlichen Erfahrungen mit einer neuen Technik sammeln zu können Seite 24 / 27

26 6. Anhang Softwareressourcen: Java(TM) SE Runtime Environment (build 1.6.0_22-b04), 32-bit und 64-bit Eclipse IDE for Java EE Developers (Eclipse Helios 3.6, 32-bit und 64-bit) ADT Plugin für Eclipse Android SDK (Linux i386) SDK Tools, r8 Hardwareressourcen: Typ Name Spezifikation Android OS, v2.2 (Froyo) ARM Cortex A8 1GHz Prozessor Smartphone Samsung i GB/16GB Datenspeicher, 512 MB Galaxy S RAM, 2GB ROM Desktop-PC Desktop-PC Eigenbau Medion Titanium 8080 weitere techn. Details 9 Windows 7 Professional x64 Ubuntu (maverick) x64 i860 Quad 2.80 GHz 4GB RAM 2x 500 GB Datenspeicher Windows XP Professional SP3 x86 Pentium GHz 2 GB RAM 160 GB Datenspeicher /GT-I9000HKDDBT/detail.aspx?atab=specifications Seite 25 / 27

27 Quellen: Becker, Arno (Hrsg.); PANT, Markus: Android 2 Grundlager der Programmierung. 2., aktualisierte und erw. Aufl. Heidelberg : dpunkt-verl., 2010 MOSEMANN, Heiko (Hrsg.); KOSE, Matthias: Android Anwendungen für das Handybetriebssystem erfolgreich programmieren. Akt Auflage. München : Hanser, 2009 Eisele, Markus: Entwicklen für Googles Android Jenseits von Hallo Welt In: ix 6/2009, S. 126 Lau, Oliver: Beep Beep Einführung in die Pogrammierung des Google- Handys In: c't 12/2011, S. 172 Becker, Arno: Die Systemarchitektur von Android Ein Blick ins Innere In: mobile developer android 4/2010, S. 28 Linke, Andreas: Apperitif Einführung in die Entwicklung von Android- Apps, Teil 1 In: c't 22/2010, S. 188 Linke, Andreas: A la carte Einführung in die Entwicklung von Android- Apps, Teil 2 In: c't 24/2010, S. 194 Linke, Andreas: Gut geschüttelt Einführung in die Entwicklung von Android-Apps, Teil 3 In: c't 1/2010, S. 172 Beier et ai., Andreas: Die eigene App Entwicklen für Android, iphone, WebOS, Symbian, Blackberry und Windows Mobile In: c't 16/2010, S. 90 Becker, Arno: Die ersten Schritte zur eigenen App Bitte Einsteigen In: mobile developer android 1/2011, S Seite 26 / 27

28 Becker, Arno: Debugging von Android Programmen Falsches flott finden In: mobile developer android 1/2011, S. 38 Junginger, Markus: Zeitgemäße App-Entwicklung für Googles mobiles Betriebssystem Androiden auf dem Vormarsch In: ix developer 1/2011, S. 11 Ableson, Frank: Das Android-OS als Brücke zwischen realer und digitaler Welt Sensoren, Sensoren In: mobile OS 1/2011, S. 70 diverse Android SDK Documentation, Website, Camera image as an OpenGL texture on top of the native camera viewfinder, Website, Simple AR example, Website, Android Anwendungen für das Handybetriebssystem erfolgreich programmieren.; MOSEMANN, Heiko (Hrsg.); KOSE, Matthias; Listing 16.3, Listing 16.4, Listing 16.5, Listing Seite 27 / 27

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

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

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Revox Joy S232 App D 1.0

Revox Joy S232 App D 1.0 Inhalt Revox Joy S232 App 1 D 1.0 Revox M-Serie Android App M235 Inhalt Herzlich Willkommen... 3 Funktionsumfang... 3 Voraussetzungen... 3 Installation... 3 Versionsnummer... 4 Konfiguration... 5 Erweiterte

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

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

4.1 Download der App über den Play Store

4.1 Download der App über den Play Store 4 4.1 Download der App über den Play Store Die App TopSec Phone kann über den Play Store auf dem Smartphone oder über das Internet an Ihrem Computer heruntergeladen werden. Um Inhalte laden zu können,

Mehr

Windows 8... 2. Verbindung mit WLAN BZPflege trennen... 29 Verbindung mit WLAN EDU-BZPflege automatisch erstellen... 30

Windows 8... 2. Verbindung mit WLAN BZPflege trennen... 29 Verbindung mit WLAN EDU-BZPflege automatisch erstellen... 30 WLAN EDU-BZPflege INHALTSVERZEICHNIS Windows 8... 2 Verbindung mit WLAN BZPflege trennen... 2 Verbindung mit WLAN EDU-BZPflege automatisch erstellen... 3 Verbindung mit WLAN EDU-BZPflege manuell erstellen...

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Dokumentation Schedulingverfahren

Dokumentation Schedulingverfahren Dokumentation Schedulingverfahren von Norbert Galuschek Gordian Maugg Alexander Hahn Rebekka Weissinger June 23, 2011 1 Contents 1 Aufgabe 3 2 Vorgehensweise 4 2.1 Warum Android.......................

Mehr

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2 disk2vhd Wie sichere ich meine Daten von Windows XP? Inhalt Thema Seite Vorwort 1 Sichern der Festplatte 2 Einbinden der Sicherung als Laufwerk für Windows Vista & Windows 7 3 Einbinden der Sicherung als

Mehr

Patch Management mit

Patch Management mit Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch

Mehr

FritzCall.CoCPit Schnelleinrichtung

FritzCall.CoCPit Schnelleinrichtung FritzCall.CoCPit Schnelleinrichtung Willkommen bei der Ersteinrichtung von FritzCall.CoCPit Damit Sie unseren FritzCall-Dienst nutzen können, müssen Sie sich die aktuelle Version unserer FritzCall.CoCPit-App

Mehr

How to install freesshd

How to install freesshd Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

GeoPilot (Android) die App

GeoPilot (Android) die App GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen

Mehr

Service-Handbuch. SH_Checkup_Applets.doc. Version: 1.02 Aktualisiert: 4.04.2012 durch: RLo Seite 1 von 6

Service-Handbuch. SH_Checkup_Applets.doc. Version: 1.02 Aktualisiert: 4.04.2012 durch: RLo Seite 1 von 6 Version: 1.02 Aktualisiert: 4.04.2012 durch: RLo Seite 1 von 6 Einleitung Regelmässig tauchen Probleme im Zusammenhang mit dem Java Runtime-Environment und dessen Konfiguration auf. Das JRE ist entscheidend

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

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

Konventionen. Danksagung

Konventionen. Danksagung Einleitung Konventionen Im Folgenden möchte ich Sie mit ein paar Konventionen vertraut machen, die Ihnen bei der Lektüre des Buches helfen sollen. Namen von neu im Text eingeführten Programmen, Produkten

Mehr

CADEMIA: Einrichtung Ihres Computers unter Windows

CADEMIA: Einrichtung Ihres Computers unter Windows CADEMIA: Einrichtung Ihres Computers unter Windows Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11 Kurzanleitung MEYTON Aufbau einer Internetverbindung 1 Von 11 Inhaltsverzeichnis Installation eines Internetzugangs...3 Ist mein Router bereits im MEYTON Netzwerk?...3 Start des YAST Programms...4 Auswahl

Mehr

Installationsanleitung

Installationsanleitung Installationsanleitung zu @Schule.rlp (2015) Inhaltsverzeichnis Inhaltsverzeichnis... 1 Voraussetzungen... 2 vorbereitende Aufgaben... 3 Installation @Schule.rlp (2015):... 3 Installation Java SE Runtime

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor: Client-Installation ec@ros2 ASP-Server 1. Allgemeine Informationen Für den Einsatz von ec@ros2 ist auf den Clients die Software Java Webstart (enthalten im Java Runtime Environment (JRE)) notwendig. Wir

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Ein Leitfaden für Anfänger unter Zuhilfenahme frei verfügbarer Software! (bei z.b. Google Microsoft Powertoys suchen, oder diesen Link verwenden )

Ein Leitfaden für Anfänger unter Zuhilfenahme frei verfügbarer Software! (bei z.b. Google Microsoft Powertoys suchen, oder diesen Link verwenden ) Wie erstelle ich Fotogalerien? Wie kann ich die auf meiner Homepage präsentieren? Ein Leitfaden für Anfänger unter Zuhilfenahme frei verfügbarer Software! Die ist eine Lösung für Windows XP Diese Lösung

Mehr

Java Script für die Nutzung unseres Online-Bestellsystems

Java Script für die Nutzung unseres Online-Bestellsystems Es erreichen uns immer wieder Anfragen bzgl. Java Script in Bezug auf unser Online-Bestell-System und unser Homepage. Mit dieser Anleitung möchten wir Ihnen einige Informationen, und Erklärungen geben,

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

ARAkoll 2013 Dokumentation. Datum: 21.11.2012

ARAkoll 2013 Dokumentation. Datum: 21.11.2012 ARAkoll 2013 Dokumentation Datum: 21.11.2012 INHALT Allgemeines... 3 Funktionsübersicht... 3 Allgemeine Funktionen... 3 ARAmatic Symbolleiste... 3 Monatsprotokoll erzeugen... 4 Jahresprotokoll erzeugen

Mehr

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden. Track in Route umwandeln ACHTUNG: Ein Track kann nur dann in eine Route umgewandelt werden, wenn der Track auf Wegen gefahren wurde. Ein Querfeldein-Track kann nicht in eine Route umgewandelt werden, da

Mehr

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Inhaltsverzeichnis 1 Allgemein... 3 2 Erforderliche Anpassungen bei der Installation...3 2.1 Konfiguration Jboss 7 Applicationserver (Schritt 4/10)...3

Mehr

Geo-Tagging von Bildern mit dem Tablet oder Smartphone

Geo-Tagging von Bildern mit dem Tablet oder Smartphone Geo-Tagging von Bildern mit dem Tablet oder Smartphone (hier mit Tablet Samsung Galaxy Note 10.1, Android Version 4.4.2) Mit dem Smartphone und natürlich auch mit dem Tablet (ist nur nicht so handlich)

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Die Lernumgebung des Projekts Informationskompetenz

Die Lernumgebung des Projekts Informationskompetenz Beitrag für Bibliothek aktuell Die Lernumgebung des Projekts Informationskompetenz Von Sandra Merten Im Rahmen des Projekts Informationskompetenz wurde ein Musterkurs entwickelt, der den Lehrenden als

Mehr

MPDS4 EXAMPLE DATENBANK

MPDS4 EXAMPLE DATENBANK MPDS4 EXAMPLE DATENBANK Erste Schritte In diesem Tutorial lernen Sie, wie Sie MPDS4 starten und wie Sie eine Fabrikanlage auf dem Bildschirm anzeigen und mittig ausrichten können. Voraussetzungen Windows

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

LEHRSTUHL FÜR DATENBANKEN

LEHRSTUHL FÜR DATENBANKEN LEHRSTUHL FÜR DATENBANKEN Informatik II für Verkehrsingenieure Java & Eclipse Installationsguide Prof. Dr.-Ing. Wolfgang Lehner > Was ist Eclipse? Eine sogenannte Integrierte Entwicklungsumgebung (engl.

Mehr

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster

Mehr

TELIS FINANZ Login App

TELIS FINANZ Login App Installation & Bedienung der TELIS FINANZ Login App 1. Voraussetzungen - Android Version 4.0 oder höher - Uhrzeit automatisch gestellt - Für die Einrichtung wird einmalig eine Internetverbindung benötigt

Mehr

easytermin App easysolution GmbH 1

easytermin App easysolution GmbH 1 easytermin App easysolution GmbH 1 Einleitung Vorwort Sowohl Interessenten als auch Kunden sollten zu jedem Zeitpunkt und von jedem Ort aus Termine mit unseren Mitarbeitern vereinbaren können. Um hierzu

Mehr

Visual Basic Express Debugging

Visual Basic Express Debugging Inhalt Dokument Beschreibung... 1 Projekt vorbereiten... 1 Verknüpfung zu Autocad/ProStructures einstellen... 2 Debugging... 4 Autocad/ProSteel Beispiel... 5 Dokument Beschreibung Debuggen nennt man das

Mehr

Installation, Einrichtung, Nutzung von PHOCA DOWNLOAD. Download-Links... 2

Installation, Einrichtung, Nutzung von PHOCA DOWNLOAD. Download-Links... 2 Installation, Einrichtung, Nutzung von PHOCA DOWNLOAD Inhalt Download-Links... 2 Deutsche Sprachdatei für von PHOCA DOWNLOAD für Joomla 3.0: http://www.reisefotografien.eu/downloads/file/239-de-de-com-phocadownload-j25-3-zip...

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr. Multimedia im Netz Wintersemester 2011/12 Übung 10 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 2 Gesundes neues Jahr 3 Blatt 08 Videoformate im

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Der schnelle Weg zu Ihrer eigenen App

Der schnelle Weg zu Ihrer eigenen App Der schnelle Weg zu Ihrer eigenen App Meine 123App Mobile Erreichbarkeit liegt voll im Trend. Heute hat fast jeder Zweite in der Schweiz ein Smartphone und damit jeder Zweite Ihrer potentiellen Kunden.

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Schritt 1: Altes Modul-Paket vollständig deinstallieren Die neuen MRG-Module sind aus dem Scope local in den Scope

Mehr

Workshop: Eigenes Image ohne VMware-Programme erstellen

Workshop: Eigenes Image ohne VMware-Programme erstellen Workshop: Eigenes Image ohne VMware-Programme erstellen Normalerweise sind zum Erstellen neuer, kompatibler Images VMware-Programme wie die Workstation, der ESX-Server oder VMware ACE notwendig. Die Community

Mehr

Python SVN-Revision 12

Python SVN-Revision 12 Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang

Mehr

Anwenderdokumentation PersoSim

Anwenderdokumentation PersoSim Anwenderdokumentation PersoSim Die nachfolgende Anwenderdokumentation soll dem Anwender bei der Installation und den ersten Schritten im Umgang mit PersoSim helfen. Installation Grundvoraussetzung für

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

Windows Server 2008 (R2): Anwendungsplattform

Windows Server 2008 (R2): Anwendungsplattform Mag. Christian Zahler, Stand: August 2011 13 14 Mag. Christian Zahler, Stand: August 2011 Mag. Christian Zahler, Stand: August 2011 15 1.5.2 Remotedesktop-Webverbindung Windows Server 2008 (R2): Anwendungsplattform

Mehr

EASYINSTALLER Ⅲ SuSE Linux Installation

EASYINSTALLER Ⅲ SuSE Linux Installation EASYINSTALLER Ⅲ SuSE Linux Installation Seite 1/17 Neuinstallation/Update von Meytonsystemen!!! Die Neuinstallation von MEYTON Software ist relativ einfach durchzuführen. Anhand dieser Beschreibung werden

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN E-MAIL

SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN E-MAIL SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN E-MAIL www.klinik-schindlbeck.de info@klinik-schindlbeck.de Bitte beachten Sie, dass wir nicht für die Sicherheit auf Ihrem Endgerät verantwortlich sein können.

Mehr

Installationsanleitungen

Installationsanleitungen Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.

Mehr

i:mobile Installation und Produkt-Aktivierung

i:mobile Installation und Produkt-Aktivierung i:mobile Installation und Produkt-Aktivierung Voraussetzungen und Systemanforderungen i:mobile unterstützt alle Windows Mobile Geräte mit Touchscreen und folgenden Betriebssystemen: o Windows Mobile 2003

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit

Mehr

Seminar Multimediale Werkzeuge Sommersemester 2011

Seminar Multimediale Werkzeuge Sommersemester 2011 Seminar Multimediale Werkzeuge Sommersemester 2011 Dipl.-Ing. Marco Niehaus marco.niehaus@tu-ilmenau.de 09.06.2011 Page 1 Android Development - Installation Java SDK wird benötigt (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp.

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp. Erfahrungen mit dem Insight Manager von HP Dipl. Ing. Elektrotechnik (FH) - Automatisierungs- / Regelungstechnik DV-Spezialist Landesbank Rheinland-Pfalz Abteilung 2-351 Große Bleiche 54-56 55098 Mainz

Mehr

Apps Programmierung von Android-Smartphones

Apps Programmierung von Android-Smartphones Apps Programmierung von Android-Smartphones 2/14 Geplantes Tagesprogramm Vormittag: Überblick / Erwartungen Warum Android? Grundlagen ggf. gemeinsame Installation ggf. Vergleich Delphi - java ein einfaches

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Computeria Solothurn

Computeria Solothurn Computeria Solothurn Seniorinnen und Senioren entdecken den Computer und das Internet Sich mit «TeamViewer» von einem Supporter helfen lassen Diese Anleitung und die Illustrationen wurden unter Mac OS

Mehr

Installation/Einrichtung einer Datenbank für smalldms

Installation/Einrichtung einer Datenbank für smalldms Einleitung In den folgenden Seiten werden wir uns damit beschäftigen eine lokale Installation einer MySQL- Datenbank vorzunehmen, um auf dieser Datenbank smalldms aktivieren zu können. Wir werden das XAMPP-Paket

Mehr

http://bitschmiede.com post@bitschmiede.com Drucken von Webseiten Eine Anleitung, Version 1.0

http://bitschmiede.com post@bitschmiede.com Drucken von Webseiten Eine Anleitung, Version 1.0 http://bitschmiede.com post@bitschmiede.com Drucken von Webseiten Eine Anleitung, Version 1.0 Drucken von Webseiten Autor: Christian Heisch Technischer Verantwortlicher für die Webseitenumsetzung bei

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Tutorial In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Zu Beginn müssen wir uns über die gewünschten Sprachen Gedanken machen. Zum einem, da eine professionelle

Mehr

Stepperfocuser 2.0 mit Bootloader

Stepperfocuser 2.0 mit Bootloader Stepperfocuser 2.0 mit Bootloader Info Für den Stepperfocuser 2.0 gibt es einen Bootloader. Dieser ermöglicht es, die Firmware zu aktualisieren ohne dass man ein spezielles Programmiergerät benötigt. Die

Mehr

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Allgemeines Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Stand 21.11.2014 Die Yeastar MyPBX Telefonanlagen unterstützen die automatische Konfiguration der tiptel 3010, tiptel 3020 und tiptel 3030

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

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten

Mehr

DVB-Tool für Kathrein-Receiver

DVB-Tool für Kathrein-Receiver Betriebsanleitung DVB-Tool für Kathrein-Receiver zur Übertragung von Software und Programmtabellen (Kanallisten) vom PC/Laptop auf den Receiver Sicherheitshinweise Allgemeiner Hinweis System-Voraussetzung/Receiver-Voraussetzung

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Installationsanleitung LogControl DL-Software

Installationsanleitung LogControl DL-Software Installationsanleitung LogControl DL-Software Version 1.0.2.17 1. Einleitung Bitte lesen Sie die Installationsanleitung zuerst aufmerksam durch, bevor Sie mit der Installation der LogControl DL-Software

Mehr

Mobile RPG - Smartphone-Anwendungen mit Mobile RPG - I Christian Neißl, 6.4.2013

Mobile RPG - Smartphone-Anwendungen mit Mobile RPG - I Christian Neißl, 6.4.2013 Mobile RPG - Smartphone-Anwendungen mit Mobile RPG - I Christian Neißl, 6.4.2013 Im letzten Artikel wurde das Konzept von Mobile RPG (MR) vorgestellt. Dieser Artikel geht auf die technischen Voraussetzungen

Mehr

Nie wieder eine Sitzung verpassen unser neuer Service für Sie!

Nie wieder eine Sitzung verpassen unser neuer Service für Sie! Nie wieder eine Sitzung verpassen unser neuer Service für Sie! Bisher war es nicht immer leicht, den Überblick über die Ammersbeker Sitzungstermine zu behalten. Entweder man hat die Bekanntmachung übersehen

Mehr

SharePoint Workspace 2010 Installieren & Konfigurieren

SharePoint Workspace 2010 Installieren & Konfigurieren [Geben Sie Text ein] SharePoint Workspace 2010 Installieren & Konfigurieren SharePoint Workspace 2010 Installieren & Konfigurieren Inhalt SharePoint Workspace 2010 Installieren... 2 SharePoint Workspace

Mehr

[DROPBOX PER USB-STICK NUTZEN]

[DROPBOX PER USB-STICK NUTZEN] Handout [DROPBOX PER USB-STICK NUTZEN] Inhaltsverzeichnis Einleitung 3 Was ist Dropbox eigentlich 4 Woher bekomme ich die Software 4 Installieren der Software auf dem USB-Stick 5-14 Dropbox per USB-Stick

Mehr

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

GameGrid mit BlueJ Seite 1

GameGrid mit BlueJ Seite 1 GameGrid mit BlueJ Seite 1 GameGrid mit BlueJ BlueJ ist eine Java-Entwicklungsumgebung mit einer einfachen Benutzeroberfläche. Dem Benutzer stehen ein einfacher Texteditor mit Syntaxhervorhebung und ein

Mehr

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert

Mehr