EINFÜHRUNG IN DIE PROGRAMMIERUNG MOBILER ANDROID APPS

Größe: px
Ab Seite anzeigen:

Download "EINFÜHRUNG IN DIE PROGRAMMIERUNG MOBILER ANDROID APPS"

Transkript

1 EINFÜHRUNG IN DIE PROGRAMMIERUNG MOBILER ANDROID APPS März 2014 Kurs an der Juniorakademie Heidenheim Heinke Hihn

2 Inhaltsverzeichnis Einführung in die Programmierung mobiler Android Apps EINFÜHRUNG IN DIE PROGRAMMIERUNG... 3 Was ist Programmierung?... 3 Wie gehe ich beim Programmieren vor?... 4 Definiere das Problem klar... 4 Zerlege das Problem in viele kleine Einzelprobleme... 4 Recherchiere ausreichend... 4 Papier und Stift helfen... 4 Denke nicht zu kompliziert... 4 EINFÜHRUNG IN JAVA... 5 Was ist Java?... 5 Benötigte Software... 5 Workflow... 5 DIE ERSTE EINFACHE APP... 6 Einrichtung des Systems... 6 EINFÜHRUNG IN DAS PROGRAMMIEREN MIT JAVA Grundgerüst der App Daten innerhalb der App speichern und darstellen Bedingte Anweisungen Methoden und Funktionen GRUNDLAGEN DER APP ENTWICKLUNG Elemente einfügen Eingabe Ausgabe ENTWURF UND PROGRAMMIERUNG DER TIC TAC TOE APP Design Programmierung

3 Einführung in die Programmierung mobiler Android Apps K U R S A N D E R J U N I O R A K A D E M I E H E I D E N H E I M Heinke Hihn, JTC Heidenheim 2

4 EINFÜHRUNG IN DIE PROGRAMMIERUNG Was ist Programmierung? Einführung in die Programmierung mobiler Android Apps Unter Programmierung versteht man den Entwurf von Handlungsanweisungen, die so präzise sind, dass ein Computer sie eindeutig ausführen kann. Diese Anweisungen werden Code gennant und formen das eigentliche Programm, oft auch Anwendung oder Software genannt. Wichtig ist zu unterscheiden, dass der Code nicht das Programm selbst ist. Es wird erst so genannt, wenn es ausführbar ist, d.h. der Benutzer kann es starten und damit arbeiten. Diese Anweisungen werden in so gennanten Programmiersprachen formuliert. Eine davon ist Java, welche wir in diesem Kurs näher betrachten werden. Innerhalb der Anwedung wird zwischen der Eingabe, dem sog. Input, und der Ausgabe, dem sog. Output, unterschieden. Ein Programm kann also Informationen ausgeben und Informationen und Befehle vom Benutzer erhalten. Ein arbeitendes Programm lässt sich folgendermaßen grafisch darstellen: Betrachten wir hier beispielsweise das Programm Windows Word. Es ist ein Textprogramm, mit welchem der Benutzer Text schreiben und formatieren kann. Die Eingabe sind hier also die Tastendrücke auf der Tastatur und Befehle ( Buttons ) zur Formatierung. Die Ausgabe ist dann der formatierte Text. Jedes Programm hat also eine Menge an Anweisungen, die dem Computer sagen, was er tun soll. Diese Menge nennt man Algorithmus. Ein Algorithmus muss die folgenden vier Eigenschaften erfüllen, damit wir als Programmierer, und vorallem der Computer, damit arbeiten können: 1. Das Verfahren muss in einem endlichen Text eindeutig beschreibbar sein (Finitheit) 2. Jeder Schritt muss tatsächlich ausführbar sein (Ausführbarkeit) 3. Jeder Schritt darf zu jedem Zeitpunkt nur endlich viel Speicherplatz verbrauchen (Dynamische Finitheit) 4. Das Verfahren darf nur endlich viele Schritte benötigen (Terminierung) Ist eine diese Eigenschaft nicht erfüllt, so spricht man nicht mehr von einem Algorithmus. Schauen wir uns dazu beispielsweise die erste Eigenschaft an. Man stelle sich vor, dass man gar nicht erst in der Lage sei, das Problem in einfachen Sätzen zu beschreiben. Dann ist es natürlich auch nicht möglich, dieses Verfahren zu programmieren. Ebenso ist es natürlich nicht möglich, falls es unendlich lange dauert. 3

5 Wie gehe ich beim Programmieren vor? Programmieren ist ein kreativer Prozess, d.h. man braucht gute Ideen im richtigen Moment und einen tollen Einfall. Man kann also nur schwer sagen Wenn du Problem A hast, dann man einfach dies und jenes. Hier erreicht man die besten Ergebnisse mit viel Übung. Unabhängig von der Programmiersprache gibt es für Entwickler einige Hinweise und Hilfestellungen, die beim Lösen von Problemen helfen sollen. Hiervon gibt es sehr viele, es hat sich um diese Thematik eine ganze Wissenschaft gebildet. Die wichtigsten sollen hier vorgestellt werden. Definiere das Problem klar Dieser Schritt ist eigentlich selbstverständlich. Bevor man programmiert, überlegt man sich ganz klar, welches Ziel man verfolgt. Warum soll dieses Problem gelöst werden? Wie gehe ich dabei vor? Habe ich schon soetwas ähnliches gemacht? Zerlege das Problem in viele kleine Einzelprobleme Diese kleinen Einzelprobleme sind dann viel einfacher zu lösen. Am Ende, wenn alles funktioniert, werden die einzelnen Lösungen zusammengefügt und getestet. Recherchiere ausreichend Sicherlich gibt es schon jemanden, der dieses Problem bereits gelöst hat. Es ist keine Schande sich zu informieren, wie es gelöst wurde. Papier und Stift helfen Im Computerzeitalter kommen diese beiden Helfer zu kurz. Notizen und Beispiele auf einem Blatt Papier können einen großen Unterschied machen. Denke nicht zu kompliziert Dies gilt nicht nur beim Programmieren. Oft denken wir zu kompliziert, weil wir es gleich möglichst elegant und effizient lösen wollen. Dabei ist es besser, erst mal überhaupt eine Lösung zu finden, bevor man diese verbessert. Heinke Hihn, JTC Heidenheim 4

6 EINFÜHRUNG IN JAVA Einführung in die Programmierung mobiler Android Apps Was ist Java? Dabei handelt es sich um eine sog. Hohe Programmiersprache, die 1995 von Sun Microsystems veröffentlich wurde. Sie gehört zu den objektorientierten Sprachen und ist die am meisten verwendete. Java läuft auf über 3 Mrd. Smartphones (Android), Blu-Ray Playern und über 125 Mio. Fernsehern. Da Java plattformübergreifend ist, können beispielsweise unter Windows geschriebene Programme auf einem Mac ausgeführt werden. Dies ist mit anderen Sprachen nicht so einfach möglich. Benötigte Software Man benötigt einen Editor, einen Compiler und eine Virtuelle Maschine. Was diese genau sind, wird im nächsten Abschnitt erklärt. Als Editor nutzen wir Eclipse. Damit können wir den Code schreiben und darstellen. Als Compiler dient der Eclipse Compiler for Java (ECJ) und als Virtuelle Maschinen Java Runtime. Diese lassen sich unter herunterladen. Für die Entwicklung von Android Apps benötigen wir das ADT Bundle, welches unter verfügbar ist. Achte darauf, dass alles in der neuesten Version installiert ist. Workflow Unter Workflow versteht man den Prozess vom Code zum Programm. Dieser ist bei Java besonders, da es plattformübergreifend sein soll. Wir haben also zu Beginn den Code, aus dem wir, wie bereits besprochen, das Programm machen möchten. Im ersten Schritt wird der Code zum Byte Code kompiliert. Dieser ist dann einfach eine Folge von 1 und 0, die der Prozessor interpretieren kann. Soweit läuft es wie bei allen Programmiersprachen. Üblicherweise ist hier dann Schluss, der Byte Code ist das Programm. Bei Java jedoch gibt es noch die Virtuelle Maschine, die den Byte Code dann ausführt. Diese kann man sich vorstellen wie einen Prozessor, den es jedoch nicht wirklich gibt. Er wird simuliert. Dieser führt den Byte Code dann aus. So kann auf jedem Betriebssystem, auf dem die Virtuelle Maschine installiert ist, der Byte Code ausgeführt werden. 5

7 DIE ERSTE EINFACHE APP Einrichtung des Systems Nach dem alles installiert ist, findest du in dem Installationsordner eine ausführbare Datei namens eclipse. Wenn du sie mit Doppelklick startest, siehst du diese Meldung: Wähle hier den Ordner aus, in dem deine Projekte gespeichert werden sollen. Danach wird alles geladen und Eclipse gestartet, was so aussehen sollte: Heinke Hihn, JTC Heidenheim 6

8 Gehe nun auf File > New > New Android Application, um ein neues Android App Projekt anzulegen. Es erscheint einn eues Fenster, das so aussehen sollte: Trage hier den Namen deiner neuen App ein. Den Rest brauchst du nicht zu änderen. Klicke dann mehrmals auf Next, bis du zu diesem Fenster kommst: 7

9 Eine Activity ist eines der Bildschirme, die deine App nachher anzeigen wird. Du kannst hier einen passenden Namen eintragen und die Art, mit der du navigieren möchtest, angeben. Klicke dann auf Finish und dein erstes Android Projekt ist erfolgreich angelegt. Die siehst jetzt zwei Reiter namens activity_main.xml und MainActivity.java. Wenn du den ersten anklickst, kannst du sehen, wie deine App momentan aussieht. Hier kannst Knöpfe und ähnliches hinzufügen. Der zweite Reiter zeigt deinen Code an. Heinke Hihn, JTC Heidenheim 8

10 Als Nächstes können wir unsere App bereits probeweise starten. Dazu benötigen wir kein reales Gerät, denn wir haben einen sog. Emulator, der Smartphones simulieren kann. Um einen neuen Emulator zu erzeugen, klickst du in der oberen Leiste auf das kleine Smartphone Icon Android Virtual Device Manager und dann auf New.... Trage anschließend einen passenden Namen ein und wähle das Gerät, das du simulieren möchtest, aus der Device Liste. Achte beim Eintrag Memory Options darauf, dass du nicht zu viel Speicherplatz zur Verfügung stellst. 512 MB reichen aus. Klicke dann uf OK und anschließend auf Refresh. Nun hast du deinen ersten Emulator erzeugt. Dieser sollte nun in der Liste erscheinen. Wähle ihn in der List aus und klicke auf Start. Es dauert einen moment und der Emulator startet. Klicke in der Leiste oben auf das Run Symbol. Jetzt wird deine App auf dem Emulator installiert und gestartet. 9

11 EINFÜHRUNG IN DAS PROGRAMMIEREN MIT JAVA Grundgerüst der App Dieses sind wie folgt aus: public class MainActivity extends Activity Heinke Hihn, JTC Heidenheim 10 // Wird aufgerufen, wenn ein Button geklickt wird public void onclick(view v) ImageButton ibutton = (ImageButton) findviewbyid(v.getid()); protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); public boolean oncreateoptionsmenu(menu menu) // Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.main, menu); return true; Die Zeile public class MainActivity extends Activity gibt den Namen unserer aktuellen Activitiy (das Fenster in der App) an und welchen Zugriff es haben soll. Dieser ist hier auf public gestellt, das heißt vereinfacht ausgedrückt, dass der Zugriff von einer anderen Stelle innerhalb der App möglich ist. Dies soll ja auch so sein, dann wir möchten, dass unsere Fenster miteinander kommunizieren könnnen. Die Beiden Methoden oncreate und oncreateoptionsmenu werden aufgerufen, wenn das Fenster bzw. das Menü erzeugt wird. Hier muss also der Code rein, der beim Start der App ausgeführt werden woll, da wir uns in der MainActivity befinden. Diese ist unser Hauptfenster. Die anderen Begriffe werden hier nicht weiter erklärt. Daten innerhalb der App speichern und darstellen Hierzu stellt Java verschieden Datentypen bereit. Diese Datentypen nutzen wir, um Informationen wie Zahlen und Text zu speichern. Für Zahlen haben wir zwei Arten: int und float. int nutzen wir für ganzzahlige Zahlen wie 5 oder 1923 und float nutzen wir für Kommazahlen wie 3,1415 oder 234,0. Dann aben wir noch String, womit wir Text abspeichern könnnen. Innerhalb unseres Programmes werden diese sog. Variablen folgendermaßen angelegt: int einezahl = 4; Hier wird beispielsweise ein int mit dem Namen einezahl erzeugt und diesem den Wert 4 durch das = zugewiesen. Im Verlauf des Codes können wir immer wieder auf diese Variable zugreifen und mit ihr rechnen. Dasselbe gilt auf für float:

12 float einekommazahl = 3.14; Einführung in die Programmierung mobiler Android Apps Achte darauf, dass du statt, das. Benutzt und deine Zeilen immer mit einem ; abschließt. Für einen String sieht es dann so aus: String eintext = Mein Beispielt Text ; Innerhalb der kann alles stehen, was ein Zeichen ist. Also auch Zahlen. Den Variablennamen kannst du dir wie eine Adresse vorstellen, in der dann ein Wert liegt. Deswegen darf es auch keine Variablen mit gleichem Namen geben. Dann wüsste der Computer nicht mehr, welche du meinst. So ist es auch bei der Post: jede Adresse ist einmalig. Veränderst du den Wert der Variablen, ist er ab der Zeile, in der du ihn veränderst gültig. In den Zeilen davor hat die Variable noch den alten Wert. Denke daran, falls du mal nicht das richtige Ergebnis bekommst. In deinem Code sieht es dann so aus: public class MainActivity extends protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); int anzahlfenster = 1; String fenstername = Hauptfenster ; float laenge = ; float breite = public boolean oncreateoptionsmenu(menu menu) // Inflate the menu; this adds items to the action bar if it // is present. getmenuinflater().inflate(r.menu.main, menu); return true; Mit diesen Variablen kannst du dann rechnen. In folgendem Beispiel legen wir zwei Variablen an und rechnen dann mit diesen Werten. int anzahlfenster = 1; float laenge = ; float breite = ; anzahlfenster = anzahlfenster + 8; laenge = 4.66; breite = laenge * 2; Was ist hier nun passiert? In den ersten drei Zeilen legen wir die Variablen an, deswegen geben wir auch ihren Datentypen an. Gleichzeitig weisen wir ihnen Werte zu. Denke immer daran, Werte zu setzen, damit du nachher nicht falsche Ergebnisse bekommst. In den nächsten drei Zeilen rechnen wir dann ein bisschen. Zu erst erhöhen wir den Wert von AnzahlFenster um 8. Dazu sagen wir umgangsprachlich der neue Wert (links vom = ) ist der alte Wert (rechts vom = ) plus 8. Danach weisen wir laenge einen ganz neuen Wert zu. 11

13 Anschließend setzen wir breite auf die doppelte Länge. Dazu sagen wir die neue Breite ist die Länge mal zwei. Achte beim Rechnen immer darauf, dass auf beiden Seiten vom = der gleiche Datentyp steht. Du kannst also einer Zahl keinen Text zuweisen. Bedingte Anweisungen Oft möchten wir etwas nur tun, wenn eine Bedingung erfüllt ist. Beispielsweise möchte man einen Text anpassen, wenn das Ergebnis einer Rechnung einen bestimmten Wert erfüllt hat. Dazu stellt uns Java das if/else bereit. Als Code sieht es folgendermaßen aus: if(<hier die Bedinung>) <hier die Anweisung> else <hier die Alternative> Schauen wir uns das mal an einem Beispiel an. Wir möchten, dass der Text sich verändert, wenn eine Zahl größer als Zehn ist. Unser Spieler hat dann gewonnen. Wir nehmen an, dass vorher schon gespielt wurde und testen jetzt unsere Punktzahl: if (punkte > 10) Nachricht = Sie haben gewonnen! ; else Nachricht = Sie haben leider nicht gewonnen. ; Die Bedingung kannst du nahezu beliebig formulieren. Du kannst die dir bekannten Vergleiche benutzen: x < y: x kleiner als y x <= y: x kleiner oder gleich y x > y: x größer als y x >= y: x größer oder gleich y Zudem kannst du auch mehrere Bedingungen verknüpfen, wenn du beispielsweise willst, dass beides gilt oder mindestens eins davon, kannst du folgendes tun: x < y x < z: x kleiner als y ODER x kleiner z x < y x < z: x kleiner als y UND x kleiner z Heinke Hihn, JTC Heidenheim 12

14 Methoden und Funktionen Einführung in die Programmierung mobiler Android Apps Als wir uns das Grundgerüst unserer App angeschaut haben, ist das Wort Methoden gefallen. Was ist eine Methode eigentlich? Methoden sind gebündelte Anweisungen an den Computer, die mit einem bestimmten Namen angesprochen werden. Immer wenn du möchtest, dass deine Methode ausgeführt wird, brauchst du nur den Namen angeben und der Computer erledigt den Rest für dich. Der Vorteil dabei ist, dass du den Code für deine Methode nur einmal schreiben musst. Sonst müsstest du immer den ganzen Code nochmal schreiben. Diese Arbeit kannst du dir ganz elegant sparen. Das alles klingt sehr abstrakt und das folgende Beispiel soll dir den Bezug erleichtern: Angenommen, du möchtest an verschiedenen Stellen in deinem Code überprüfen, ob der Spieler gewonnen hat. Beispielsweise nach jedem Spielzug oder wenn ein bestimmter Button klickt wird. Du willst aber nicht jedes mal den (möglicherweise) langen Code neu schreiben und entschließt dich, eine Methode dafür zu schreiben. Wie machst du das? Zu erst musst du dich entscheiden, welche Zugriffsebene deine Methode haben soll. Wenn du dir nicht sicher bist, mache sie am besten private, um möglichen Schaden zu verhindern. Du beginnst also mit folgendem Codestück: private void siegtest(int punktzahl) So gibst du den Namen deiner Methode (siegtest), den Zugriff (private) und die Parameter (punktzahl) an. Parameter nennt man die Variablen, mit denen deine Methode arbeiten will. Da wir in unserem Beispiel testen wollen, ob der Spieler gewonnen hat, benötigen wir die Punktzahl. Diese ist deswegen der Parameter. Wenn du einen Parameter angibst, musst du auch gleich sagen, welche Datentyp er haben soll. In unserem Fall ist er int, weil wir nur ganzzahlige Punktzahlen haben. Nach dem du den Kopf der Methode definiert hast, musst du noch angeben, wie die eigentliche Methode aussehen soll. Was soll also geschehen, wenn die Methode aufgerufen wird? Das gibtst du folgendermaßen an: private void siegtest(int punktzahl) Die beiden geschweiften Klammern zeigen an, was zur Methode gehört. Alles, was innerhalb dieser beiden Klammern steht, wird ausgeführt, wenn die Methode aufgerufen wird. 13

15 Füllen wir unsere Methode nun mit Leben: private void siegtest(view view) if (punkte > 10) Nachricht = Sie haben gewonnen! ; else Nachricht = Sie haben leider nicht gewonnen. ; Jetzt kannst du die Methode beliebig aufrufen. Achte nur darauf, dass du dir die korrekten Parameter übergibst. Ein Aufruft sieht folgendermaßen aus: siegtest(punkte); Du gibst also den Namen an und in runden Klammern die Variable, die du als Parameter nutzen möchtest. Achte darauf, dass die diese Variable bereits gibt und dass sie den geforderten Datentyp hat. Heinke Hihn, JTC Heidenheim 14

16 GRUNDLAGEN DER APP ENTWICKLUNG Elemente einfügen Einführung in die Programmierung mobiler Android Apps Eine benutzerfreundliche App zeichnet sich unter anderem dadurch aus, dass der Benutzt durchgehend über den aktuellen Status der App informiert ist. Es soll ihm also beispielsweise angezeigt werden, dass er gerade noch warten muss oder sein Punktestand. Um dies zu gewährleisten, braucht die App Elemente, die dies ermöglichen. Davon gibt es im Grunde zwei Arten: Elemente zur Eingabe und Elemente zur Ausgabe. Eingabe Hier kennt jeder die Buttons. Sie sind Knöpfe, die der Benutzer klicken kann, um bestimmte Ereignisse auszulösen. Buttons gibt es in unter Form Widgets im Graphical Layout Reiter: Ein Button hat mehrere Einstellungen, die geändert werden können. Dazu gehören ein Name, die Position und die Länge und Breite. Wie jedes Form Element, hat auch der Button eine eindeutige Nummer, mit der identifiziert und gefunden werden kann. Diese wird ID genannt. 15

17 Damit etwas passiert, wenn der Benutzer den Button anklickt, muss noch eine Methode an ihn gebunden werden. Diese wird dann aufgerufen, wenn der Button geklickt wird. Dazu gehst du wie folgt vor: Öffne activity_main.xml und gehe anschließend in der unteren Leiste wieder auf activity_main.xml. Jetzt siehst du ein paar Zeilen Code. Irgendwo hier verbirgt sich dein Button. Du findest ihn, wenn du im rechten Menü auf den Namen des Button klickst: Folgender Code beschreibt deinen Button: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="25dp" android:text="button"/> Bedenke, dass es bei dir eventuell leicht anders aussehen kann, falls du etwas anders bennant hast. Die einzelenen Einträge (sog. XML Tags) beschrieben hier die jeweilige Eigenschaft des Buttons. Wir möchten eine Methode hinzufügen, also müssen wir einen neuen Eintrag machen. Heinke Hihn, JTC Heidenheim 16

18 Ändere den Code dazu folgendermaßen: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="25dp" android:text="button" android:onclick= siegtest /> Der neue Tag sagt jetzt folgendes aus: Wenn der Button geklickt wird, führe die Methode SiegTest aus. Du kannst hier verschiedene Ereignisse abfragen, wie beispielsweise einen Doppelklick oder einen Klickt mit der linken Maustaste. Ausgabe Oft möchte man dem Benutzer etwas mitteilen. Dazu ist ein Button aber nicht geeignet. Hierfür gibt es die sog. TextView Elemente. Diese Findest du hier: Wenn du TextViews einfügst, werden die entsprechende Einträge auch aktualiert. Schaue dazu mal in deine activitiy_main.xml und die Layout Liste rein. Den Text kannst du durch die jeweilige Eigenschaft des TextViews bearbeiten. Klicke dazu im Graphical Layout den Text an und wähle dann in den Einträge rechts unten die Zeile Text. Hier kannst du nun deinen gewünschten Text eintragen. 17

19 Heinke Hihn, JTC Heidenheim 18

20 ENTWURF UND PROGRAMMIERUNG DER TIC TAC TOE APP Design Fangen wir also mit der erten App an. Lege dazu ein neues Projekt an und geben diesem einen passenden Namen. Wähle dazu das einfache Activity Main Layout aus. Ziehe anschließend die folgenden Elemente auf deine Activity: Weil wir X und O anzeigen möchten, benötigen wir keine normalen Buttons sondern die ImageButtons. Diese verhalten sich wie normale Buttons, können aber zusätzlich ein Bild anzeigen. Wechsle dazu in den Reiter activity_main.xml und suche folgenden Code: <ImageButton android:id="@+id/imagebutton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginleft="60dp" android:layout_margintop="76dp" /> 19

21 Dieser kann bei dir etwas anderes aussehen. Um einem ImageButton ein Bild zuzuweisen, muss der Tag android:src gesetzt werden. Damit du aber das Bild überhaupt benutzen kannst, muss es im res Ordner sein. Diesen findest du unter Workspace\<AppName>\res\drawable-hdpi Lege die Bilder hier ab. Du benötigst ein leeres Bild, eins mit einem X und eins mit einem O. Anschließend musst du für jeden ImageButton das Tag setzen: <ImageButton android:id="@+id/imagebutton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginleft="60dp" android:layout_margintop="76dp" android:src="@drawable/icon_empty" /> Hier wurde standardmäßig das leere Bild eingesetzt. Diese soll sich jetzt je nach Spieler verändern. Wenn Spieler 1 an der Reihe ist, soll ein X erscheinen, bei Spieler 2 ein O. Programmierung Was soll passieren, wenn der Spieler den Button klickt? Allgemein gesprochen ist dies der Spielzug. Zu diesem gehört natürlich zu wissen, welcher Spieler überhaupt an der Reihe ist. Dies können wir ganz einfach in einer Variable speichern. Diese nennen wir spieleranderreihe und setzen sie zu Beginn auf 1: int spieleranderreihe = 1; Dieses Prinzip kennen wir ja bereits. Was jetzt neu dazu kommt ist, dass diese Variable global sein soll. Wir möchten also von überall in unserem Programm auf sie zugreifen können. Wie setzen wir das um? Es kommt hierbei auf den Codeblock an, in dem sie deklariert wird. Dieser muss dazu der äußerste Block sein: public class MainActivity extends Activity static int spieleranderreihe = protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); public boolean oncreateoptionsmenu(menu menu) // Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.main, menu); return true; Heinke Hihn, JTC Heidenheim 20

22 Jetzt fehlt noch die Methode, die den Spielzug repräsentieren soll. Machen wir uns dazu nochmal klar, was genau passieren soll: Es darf sich immer nur der geklickte Button ändern Das Konzept von Methoden und Parameter haben wir bereits kennengelernt und wir benutzen es hier. Dabei ist der geklickte Button der Parameter unserer Spielzug Methode: public static void Spielzug(ImageButton ibutton) Abhängig vom Spieler, soll das Bild geändert werden. Dies können wir sehr einfach umsetzen: mit dem if/else Konstrukt. Dieses ist gerade für die Fallunterscheidung gedacht. Der Code siehst folgendermaßen aus: // Wenn Spieler 1 an der Reihe if (spieleranderreihe == 1) // Ändere das Bild und ibutton.setimageresource(r.drawable.icon_x); else // Dasselbe für Spieler 2 ibutton.setimageresource(r.drawable.icon_o); Danach soll der andere Spieler an der Reihe sein. Die Fallunterscheidung, welcher Spieler gerade dran war, haben wir schon gemacht. Jetzt müssen wir nur noch die Variable ändern: // Wenn Spieler 1 an der Reihe if (spieleranderreihe == 1) // Ändere das Bild und ibutton.setimageresource(r.drawable.icon_x); // Setzte die Spielerreihenfolge um spieleranderreihe = 2; else // Dasselbe für Spieler 2 ibutton.setimageresource(r.drawable.icon_o); spieleranderreihe = 1; Zusammengefügt sieht das Ganze nun folgendermaßen aus: // Spielzug eines Spielers public static void Spielzug(ImageButton ibutton) // Wenn Spieler 1 an der Reihe if (spieleranderreihe == 1) // Ändere das Bild und ibutton.setimageresource(r.drawable.icon_x); // Setzte die Spielerreihenfolge um spieleranderreihe = 2; else // Dasselbe für Spieler 2 ibutton.setimageresource(r.drawable.icon_o); spieleranderreihe = 1; 21

23 Achte darauf, dass du die Methode an die richtige Stelle schreibst, d.h. außerhalb anderer Methoden aber noch innerhalb der MainActivity. Woher wissen wir aber nun, welcher Button geklickt wurde? Dies können wir mithilfe der View Klasse einfach herausfinden. Diese stellt die ID des Buttons zur Verfügung. Dazu definieren wir uns eine weitere Methode, der wir als Parameter die View Klasse geben. Innerhalb der Methode suchen wir dann nach dem geklickten Button: // Wird aufgerufen, wenn ein Button geklickt wird public void onclick(view v) ImageButton ibutton = (ImageButton) findviewbyid(v.getid()); Spielzug(iButton); Als nächstes wollen wir die onclick Methode an die Buttons binden. Dazu haben wir das onclick Event kennengelernt, welches wir auch hier wieder benutzen wollen. Gehe dazu in die activity_main.xml und ändere die Tags der Buttons entsprechend ab: <ImageButton android:id="@+id/imagebutton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_aligntop="@+id/imagebutton1" android:layout_centerhorizontal="true" android:src="@drawable/icon_empty" android:onclick= onclick"/> Denke daran, dass du dies für jeden Button einzeln machen musst. Starte deine App und teste die Funktion. Es sollte jetzt das jeweilige Zeichen geladen werden. Es fehlt noch, dass die Anzeige aktualierst wird und die Sieg- und Niederlagebedinungen. Für die korrekte Anzeige musst du einfach nur in der if/else Struktur den angezeigten Text ändern: TextView tview = (TextView) findviewbyid(r.id.textview1); // Wenn Spieler 1 an der Reihe if (spieleranderreihe == 1) // Ändere das Bild und ibutton.setimageresource(r.drawable.icon_x); // Setzte die Spielerreihenfolge um spieleranderreihe = 2; tview.settext("spieler 2 ist an der Reihe!"); else // Dasselbe für Spieler 2 ibutton.setimageresource(r.drawable.icon_o); spieleranderreihe = 1; tview.settext("spieler 1 ist an der Reihe!"); Heinke Hihn, JTC Heidenheim 22

24 Vielleicht ist dir aufgefallen, dass ein Bild nochmals verändert werden kann, wenn der nächste Spieler wieder darauf klickt. Um das zu verhindern, merken wir uns, wo wir welches Zeichen gesetzt haben. Dies brauchen wir auch um zu testen, welcher Spieler gewonnen hat. Dazu benutzen wire in mehrdimensionales Feld, das unser Spielfeld repräsentieren soll. Es hat die Dimension 3x3, genau wie das Spielfeld selbst: static int[][] spielfeld = 0, 0, 0,0, 0, 0; Es wird an derselben Stelle wie spieleranderreihe definiert. Die 0 soll angeben, dass an dieser Stelle noch kein Spieler sein Zeichen gesetzt hat. Für den nächsten Schritt ist es wichtig, dass du weißt, welcher Button welche ID hat. Diese brauchen wir, um das Feld zu finden, dass er repäsentiert. Schau dir dazu die IDs in der Anzeige rechts an, wenn du einen Button ausgewählt hast. Wir gehen davon aus, dass der erste (oben links) die ID imagebutton1, der nächste imagebutton2 etc hat. Dann können wir folgendermaßen das Feld bestimmen: // Gegeben dem Button, finde das dazugehörige Feld public boolean maptofield(imagebutton ibutton) switch(ibutton.getid()) case R.id.imageButton1: if (spielfeld[0][0]!= 0) return false; spielfeld[0][0] = spieleranderreihe; case R.id.imageButton2: if (spielfeld[0][1]!= 0) return false; spielfeld[0][1] = spieleranderreihe; case R.id.imageButton3: if (spielfeld[0][2]!= 0) return false; spielfeld[0][2] = spieleranderreihe; case R.id.imageButton4: if (spielfeld[1][0]!= 0) return false; spielfeld[1][0] = spieleranderreihe; case R.id.imageButton5: if (spielfeld[1][1]!= 0) return false; spielfeld[1][1] = spieleranderreihe; case R.id.imageButton6: if (spielfeld[1][2]!= 0) return false; spielfeld[1][2] = spieleranderreihe; case R.id.imageButton7: if (spielfeld[2][0]!= 0) return false; spielfeld[2][0] = spieleranderreihe; 23

25 case R.id.imageButton8: if (spielfeld[2][1]!= 0) return false; spielfeld[2][1] = spieleranderreihe; case R.id.imageButton9: if (spielfeld[2][2]!= 0) return false; spielfeld[2][2] = spieleranderreihe; return true; Die Zahlen in den eckigen Klammen geben das Feld an. Du kannst es dir wie eine Tabelle vorstellen: spielfeld[1][2] bedeutet beispielsweise Zeile zwei, Spalte 3, da die Nummerierung bei 0 beginnt. Wir testen hier auch gleichzeitig, ob der Spielzug korrekt ist. Dazu fragen wir, ob in dem aktuellen Feld ein anderer Wert als 0 steht (d.h. hier wurde schon etwas eingetragen). Falls dem so ist, brechen wir ab. Nun müssen wir diesen Test noch in unserern Spielzug einbauen: // Spielzug eines Spielers public void Spielzug(ImageButton ibutton) TextView tview = (TextView) findviewbyid(r.id.textview1); // Wenn Spieler 1 an der Reihe if (spieleranderreihe == 1 && maptofield(ibutton)) // Ändere das Bild und ibutton.setimageresource(r.drawable.icon_x); // setze die Spielerreihenfolge um spieleranderreihe = 2; tview.settext("spieler 2 ist an der Reihe!"); else if(!maptofield(ibutton)) return; // Dasselbe für Spieler 2 ibutton.setimageresource(r.drawable.icon_o); spieleranderreihe = 1; tview.settext("spieler 1 ist an der Reihe!"); Wir arbeiten also nur weiter, wenn die maptofield Methode grünes Licht gibt. Heinke Hihn, JTC Heidenheim 24

26 Als letztes fehlt uns noch der Test auf Sieg und Niederlage. Hier nutzen wir aus, dass es nicht so viele mögliche Kombinationen gibt. Diese sind: Es gibt also neun mögliche Kombinationen. Drücken wir sie über unser Spielfeld aus, heißt dies: Für die Diagonalen spielfeld[0][0], spielfeld[1][1], spielfeld[2][2] sind gleich spielfeld[2][0], spielfeld[1][1], spielfeld[0][2] sind gleich Für die Horizontalen spielfeld[0][0], spielfeld[0][1], spielfeld[0][2] sind gleich spielfeld[1][0], spielfeld[1][1], spielfeld[1][2] sind gleich spielfeld[2][0], spielfeld[2][1], spielfeld[2][2] sind gleich Für die Vertikalen spielfeld[0][0], spielfeld[1][0], spielfeld[2][0] sind gleich spielfeld[0][1], spielfeld[1][1], spielfeld[2][1] sind gleich spielfeld[0][2], spielfeld[1][2], spielfeld[2][2] sind gleich 25

27 Diese Bedingungen gilt es nun in Code zu formulieren. Da es keine Möglichkeit für a = b = c gibt, müssen wir etwas anders vorgehen. Wir fragen a = b && b = c, wodurch wir dasselbe Ziel erreichen. In einer Methode sieht das es folgendermaßen aus: public static int siegtest() // Teste nach Diagonalen: if (spielfeld[0][0] == spielfeld[1][1] && spielfeld[1][1] == spielfeld[2][2]) return spielfeld[0][0]; Wir geben im Fall eines Sieges den Eintrag im Feld zurück, welcher auch gleichzeitig der Spielernummer entspricht. Null gben wir zurück, wenn keiner gewonnen hat. Heinke Hihn, JTC Heidenheim 26 if (spielfeld[2][0] == spielfeld[1][1] && spielfeld[1][1] == spielfeld[0][2]) return spielfeld[2][0]; // Teste die Horizontalen if (spielfeld[0][0] == spielfeld[0][1] && spielfeld[0][1] == spielfeld[0][2]) return spielfeld[0][0]; if (spielfeld[1][0] == spielfeld[1][1] && spielfeld[1][1] == spielfeld[1][2]) return spielfeld[1][0]; if (spielfeld[2][0] == spielfeld[2][1] && spielfeld[2][1] == spielfeld[2][2]) return spielfeld[2][0]; // Test die Vertikalen if (spielfeld[0][0] == spielfeld[1][0] && spielfeld[1][0] == spielfeld[2][0]) return spielfeld[0][0]; if (spielfeld[0][1] == spielfeld[1][1] && spielfeld[1][1] == spielfeld[2][1]) return spielfeld[0][1]; if (spielfeld[0][2] == spielfeld[1][2] && spielfeld[1][2] == spielfeld[2][2]) return spielfeld[0][2]; // Gebe 0 zurück, falls keiner gewonnen hat return 0;

28 Man könnte die Bedingungen auch verknüpfen, aber der Code wäre dann sehr kompliziert. Wir belassen es der Einfachheit halber bei der langen Version. Wann soll nun auf einen Sieg getestet werden? Am besten nach jedem Spielzug. Also rufen wir diese Funktion auch dort auf: // Spielzug eines Spielers public void Spielzug(ImageButton ibutton) TextView tview = (TextView) findviewbyid(r.id.textview1); // Wenn Spieler 1 an der Reihe if (spieleranderreihe == 1 && maptofield(ibutton)) // Ändere das Bild und ibutton.setimageresource(r.drawable.icon_x); // setze die Spielerreihenfolge um spieleranderreihe = 2; tview.settext("spieler 2 ist an der Reihe!"); else if(!maptofield(ibutton)) return; // Dasselbe für Spieler 2 ibutton.setimageresource(r.drawable.icon_o); spieleranderreihe = 1; tview.settext("spieler 1 ist an der Reihe!"); // Teste, ob jemand gewonnen hat int sieger = siegtest(); switch(sieger) // Sieger == 0, keiner hat gewonnen case 0: // Sieger == 1, Spieler 1 hat gewonnen case 1: punktespieler1++; tview.settext("spieler 1 hat gewonnen!"); neuesspiel(); // Sieger == 2, Spieler 2 hat gewonnen case 2: punktespieler2++; tview.settext("spieler 2 hat gewonnen!"); neuesspiel(); Wenn das Spiel vorbei ist, muss ein neues gestartet warden. Dies soll in der neuesspiel Methode passieren. Überlegen wir uns dazu, was alles bei einem neuen Spiel geschehen muss. Eigentlich nicht viel, es müssen nur alle Kreuze und Kreise entfernt werden und das spielfeld wieder auf 0 gesetzt werden. 27

29 Als Methode sieht das Ganze folgendermaßen aus: // Starte ein neues Spiel public void neuesspiel() // Es soll wieder Spieler 1 an der Reihe sein spieleranderreihe = 1; // Laufe durch das Spielfeld und setze jeden Eintrag auf 0 for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) spielfeld[i][j] = 0; // Setze bei allen ImageButtons das leere Bild ein ImageButton ibutton = (ImageButton) findviewbyid(r.id.imagebutton1); ibutton.setimageresource(r.drawable.icon_empty); ibutton = (ImageButton) findviewbyid(r.id.imagebutton2); ibutton.setimageresource(r.drawable.icon_empty); ibutton = (ImageButton) findviewbyid(r.id.imagebutton3); ibutton.setimageresource(r.drawable.icon_empty); ibutton = (ImageButton) findviewbyid(r.id.imagebutton4); ibutton.setimageresource(r.drawable.icon_empty); ibutton = (ImageButton) findviewbyid(r.id.imagebutton5); ibutton.setimageresource(r.drawable.icon_empty); ibutton = (ImageButton) findviewbyid(r.id.imagebutton6); ibutton.setimageresource(r.drawable.icon_empty); ibutton = (ImageButton) findviewbyid(r.id.imagebutton7); ibutton.setimageresource(r.drawable.icon_empty); ibutton = (ImageButton) findviewbyid(r.id.imagebutton8); ibutton.setimageresource(r.drawable.icon_empty); ibutton = (ImageButton) findviewbyid(r.id.imagebutton9); ibutton.setimageresource(r.drawable.icon_empty); Heinke Hihn, JTC Heidenheim 28

30 Als Letztes lassen wir uns noch die Punktzahl der Spieler anzeigen. Dazu holen wir uns die TextViews und schreiben den Punktestand hinein: TextView punkte1view = (TextView) findviewbyid(r.id.textview2); TextView punkte2view = (TextView) findviewbyid(r.id.textview3); switch(sieger) // Sieger == 0, keiner hat gewonnen case 0: // Sieger == 1, Spieler 1 hat gewonnen case 1: punktespieler1++; tview.settext("spieler 1 hat gewonnen!"); punkte1view.settext("punktzahl Spieler 1: " + punktespieler1); neuesspiel(); // Sieger == 2, Spieler 2 hat gewonnen case 2: punktespieler2++; tview.settext("spieler 2 hat gewonnen!"); punkte2view.settext("punktzahl Spieler 2: " + punktespieler2); neuesspiel(); Als letztes gibt es noch den Fall eines Unentschiedens, d.h. alle Felder sind belegt, aber es gibt keinen Sieger. Diesen Fall behandeln wir nun. Im Grunde genommen ist es sehr einfach. Sobald wir von unserer siegtest Methode mitgeteilt bekommen, dass es keinen Sieger gab, schauen wir nach, ob in jedem Feld ein Eintrag verschieden von 0 steht. Wir benötigen also eine weiter Methode: // Teste, ob es ein Unentschieden gibt public boolean unentschiedentest() // gehe dazu durch das feld, und schaue nach, ob // überall ein Eintrag verschieden von 0 ist for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) // Wenn ein Eintrag 0 ist, kann es noch // kein Unentschieden geben if (spielfeld[i][j] == 0) return false; return true; 29

31 Diesen Test rufen wir auf, wenn siegtest eine 0 zurückgibt, d.h. es hat keiner gewonnen: switch(sieger) // Sieger == 0, keiner hat gewonnen case 0: if (unentschiedentest()) tview.settext("unentschieden!"); neuesspiel(); // Sieger == 1, Spieler 1 hat gewonnen case 1: punktespieler1++; tview.settext("spieler 1 hat gewonnen!"); punkte1view.settext("punktzahl Spieler 1: " + punktespieler1); neuesspiel(); // Sieger == 2, Spieler 2 hat gewonnen case 2: punktespieler2++; tview.settext("spieler 2 hat gewonnen!"); punkte2view.settext("punktzahl Spieler 2: " + punktespieler2); neuesspiel(); Damit ist deine erste Android App fertig! Du hast alle Komponenten programmiert und eingestellt. Mit dem gesammelten Wissen kannst du nun viele weitere Apps programmieren. Viel Spaß! Heinke Hihn, JTC Heidenheim 30

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Technische Hochschule Georg Agricola WORKSHOP TEIL 2. Veranschaulichung des EVA-Prinzips

Technische Hochschule Georg Agricola WORKSHOP TEIL 2. Veranschaulichung des EVA-Prinzips 12.1.2017 Technische Hochschule Georg Agricola WORKSHOP TEIL 2 Veranschaulichung des EVA-Prinzips Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Erklärung zum EVA-Prinzip... 3 2.1 Benötigte

Mehr

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

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

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

Greenfoot: Verzweigungen

Greenfoot: Verzweigungen Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Betrachten wir die act()-methode des Wombats aus dem Wombats-Szenario: Wie interpretieren Sie diesen Code? (einfach übersetzen) Falls der Wombat ein

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

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

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Eclipse 3.0 (Windows)

Eclipse 3.0 (Windows) Eclipse Seite 1 Eclipse 3.0 (Windows) 1. Eclipse installieren Eclipse kann man von der Webseite http://www.eclipse.org/downloads/index.php herunterladen. Eclipse ist für Windows, Mac und Linux erhältlich.

Mehr

Eclipse Tutorial.doc

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

Mehr

Zeiterfassungsanlage Handbuch

Zeiterfassungsanlage Handbuch Zeiterfassungsanlage Handbuch Inhalt In diesem Handbuch werden Sie die Zeiterfassungsanlage kennen sowie verstehen lernen. Es wird beschrieben wie Sie die Anlage einstellen können und wie das Überwachungsprogramm

Mehr

Mobile App Development. - Grafische Oberflächen 2 -

Mobile App Development. - Grafische Oberflächen 2 - Mobile App Development - Grafische Oberflächen 2 - Inhalt Dimensionen Layouting Menüs Activities starten Übung Dimensionen Dimensionen Analog zu Strings und Farben können Dimensionen definiert werden Dimensionen

Mehr

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

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

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

Einführung in die Programmierung 1

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

Mehr

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

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

AuD-Tafelübung T-B5b

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

Mehr

Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi

Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi Grundlagen der Programmierung 1 WS 2012/2013 Prof. Dr. Stefan Böttcher Aufgabenblatt 1: - Präsenzübung für die Übungen Do. 11.10.- Mi. 17.10.2012 Ausgabe Mi. 10.10.2012 1.1. Zahlen vertauschen mit wenigen

Mehr

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

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Besprechung der Aufgaben 1) Legen Sie das Android-Projekt HelloWorldApp an so wie es in den vorherigen Folien beschrieben

Mehr

Ü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

Fülle das erste Bild "Erforderliche Information für das Google-Konto" vollständig aus und auch das nachfolgende Bild.

Fülle das erste Bild Erforderliche Information für das Google-Konto vollständig aus und auch das nachfolgende Bild. Erstellen eines Fotoalbum mit "Picasa"-Webalben Wie es geht kannst Du hier in kleinen Schritten nachvollziehen. Rufe im Internet folgenden "LINK" auf: http://picasaweb.google.com Jetzt musst Du folgendes

Mehr

Let's talk Gimp 2.8. Lektion. Die Fenster. Digitales Gestalten mit Open Source

Let's talk Gimp 2.8. Lektion. Die Fenster. Digitales Gestalten mit Open Source Startest du Gimp das erste Mal, bietet es einen ungewöhnlichen Anblick. Anstelle von einem Fenster gehen gleich 3 Fenster auf. Ein etwas ungewöhnlicher Anblick für Viele. Aber auch das kommerzielle Pendant

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

Kurzanleitung Bearbeitung einer Preisanfrage der Stadt Gelsenkirchen

Kurzanleitung Bearbeitung einer Preisanfrage der Stadt Gelsenkirchen Kurzanleitung Bearbeitung einer Preisanfrage der Stadt Gelsenkirchen Stand August 2011 Partner von: 1 Inhaltverzeichnis 1. Einleitung 2. Erstnutzung 2.1. Zugangsdaten 2.2. Abruf der Preisanfrage 2.3. Bestellung

Mehr

C# Tutorial Part 1. Inhalt Part 1. Einleitung. Vorbereitung. Eagle Eye Studios. Einleitung Vorbereitung Das erste Projekt

C# Tutorial Part 1. Inhalt Part 1. Einleitung. Vorbereitung. Eagle Eye Studios. Einleitung Vorbereitung Das erste Projekt Eagle Eye Studios C# Tutorial Part 1 Inhalt Part 1 Einleitung Vorbereitung Das erste Projekt Einleitung Wer sich mit dem Programmieren schon einigermaßen auskennt, kann diesen Abschnitt überspringen. Programmieren,

Mehr

Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE)

Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE) Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

JDroidLib mit Eclipse (Mac/Linux/Windows) JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,

Mehr

Word starten. Word Word 2010 starten. Schritt 1

Word starten. Word Word 2010 starten. Schritt 1 Schritt 1 Word 2010 starten. 2) Klicke danach auf Microsoft Office Word 2010. Sollte Word nicht in dieser Ansicht aufscheinen, dann gehe zu Punkt 3 weiter. 1) Führe den Mauszeiger auf die Schaltfläche

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

Arbeitsblatt 5 EAD II NetBeans

Arbeitsblatt 5 EAD II NetBeans Arbeitsblatt 5 EAD II NetBeans Graphische Oberfläche für Uhrenanzeige mit NetBeans Für die Einführung in die Verwendung von NetBeans erstellen wir die graphische Oberfläche für die Uhr nun mit NetBeans.

Mehr

Programme deinstallieren,

Programme deinstallieren, Programme deinstallieren, Programme mit Windows deinstallieren: Sie haben Programme auf Ihrem Rechner, die Sie gar nicht oder nicht mehr gebrauchen. Sie sollten solche Programme deinstallieren, denn die

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

Der Windows Explorer INITE 7e 2003 Joël François

Der Windows Explorer INITE 7e 2003 Joël François Der Windows Explorer 1 Einleitung Was ist der Explorer? Der Windows Explorer (nicht zu verwechseln mit dem Internet Explorer) ist ein Programm welches zur Datei Verwaltung unter Microsoft Windows verwendet

Mehr

Java Projekt: Tic Tac Toe + GUI

Java Projekt: Tic Tac Toe + GUI Java Projekt: Tic Tac Toe + GUI Rechnerpraktikum aus Programmierung im WS 2005/06 unter der Leitung von Dr. Michael Hahsler Tadeh Amirian (h0253821) 10.01.2006 1) Problemdefinition Beim TicTacToe Spiel

Mehr

Ausbildungsziel: Erstellung eines Briefes mit Hilfe von Vorlagen

Ausbildungsziel: Erstellung eines Briefes mit Hilfe von Vorlagen Ausbildungsziel: Erstellung eines Briefes mit Hilfe von Vorlagen 1. Grundlagen (Inhalt Menü) Einer der grundlegendsten Anwendungen des Computers ist die als Schreibmaschine! Im Gegensatz zur Schreibmaschine

Mehr

Starten der Software unter Windows 7

Starten der Software unter Windows 7 Starten der Software unter Windows 7 Im Folgenden wird Ihnen Schritt für Schritt erklärt, wie Sie Ihr persönliches CONTOUR NEXT USB auf dem Betriebssystem Ihrer Wahl starten und benutzen. Schritt 1. Stecken

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Übungen: 6 Schleifen Objektorientierte Programmierung OOP Programmieren mit Java 1. do-schleife 2. while-schleife 3. a) c) Verschiedene for-schleifen 6 Schleifen Übungen 4. for-schleife: halber Tannenbaum

Mehr

Arbeiten mit. Inhaltsverzeichnis. Abteilung Technik

Arbeiten mit. Inhaltsverzeichnis. Abteilung Technik Arbeiten mit Anki ist ein Programm, mit dem Du Stoff wiederholen kannst, der auswendig zu lernen ist, ganz ähnlich den berühmten Karteikarten. Es geht also nicht um Verständnis, Intuition o.ä. sondern

Mehr

Eine Kommando-Oberfläche für.net

Eine Kommando-Oberfläche für.net Institut für Systemsoftware O.Univ.-Prof. Dr. Hanspeter Mössenböck Eine Kommando-Oberfläche für.net In.NET (wie auch in vielen anderen Systemen) haben Programme nur einen einzigen Eintrittspunkt (ihre

Mehr

App-Entwicklung mit Android Studio

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

Mehr

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen L AKTUEL ZU fritz JOBST JAVA 8 PROGRAMMIEREN IN JAVA 7. Auflage Im Internet: Alle Beispielprogramme und Lösungen 4 1 Der Einstieg in Java keinem Fall zulässig. Die Schreibweisen Hello.java für den Namen

Mehr

Google Android API. User Interface. Eine knappe Einführung

Google Android API. User Interface. Eine knappe Einführung Google Android API User Interface Eine knappe Einführung Google Android API User Interface Designelement Wofür Klasse/Package View Basisklasse für alle Designelemente public class android.view.view Viewgroup

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

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

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java Grundlagen von Java Aufgabe 1: Typen und Zuweisungen in Java Welche der folgenden Java-Anweisungen sind fehlerhaft? Handelt es sich um einen Compiler- oder einen Laufzeitfehler? Anmerkung: Folgefehler

Mehr

Dokumentation des Projektes Tic Tac Toe

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

Mehr

Praktikum aus Programmierung Dr. Michael Hahsler (WS 05/06) Projekt: Würfelpoker

Praktikum aus Programmierung Dr. Michael Hahsler (WS 05/06) Projekt: Würfelpoker Praktikum aus Programmierung Dr. Michael Hahsler (WS 05/06) Projekt: Würfelpoker Gert Vasak Matrikelnummer 9150666 PROBLEMSTELLUNG Ziel Ziel dieses Projektes ist es, eine einfache Version des Brettspiels

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

AristaFlow BPM Suit Installation

AristaFlow BPM Suit Installation AristaFlow BPM Suit Installation 1) AF-BPMSuite-1.0.1.exe und de.aristaflow.adept2.licence_1.0.0.jar von http://194.94.80.90/goumas/aristaflow/ herunterladen. Hinweis: eventuelle Warnungen von Anti-Virus

Mehr

Konvertieren von Settingsdateien

Konvertieren von Settingsdateien Konvertieren von Settingsdateien Mit SetEdit können sie jedes der von diesem Programm unterstützten Settingsformate in jedes andere unterstützte Format konvertieren, sofern Sie das passende Modul (in Form

Mehr

Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern. Dazu klicken Sie bitte auf Ihren Namen.

Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern. Dazu klicken Sie bitte auf Ihren Namen. 1 Passwort ändern Nach Ihrer erstmaligen Anmeldung sollten Sie Ihr Passwort ändern Dazu klicken Sie bitte auf Ihren Namen Abb 1-1 Erstmaliger Anmeldung Danach erscheint ein PopUp indem Sie Ihr Passwort

Mehr

Vorwort... 2. Installation... 3. Hinweise zur Testversion... 4. Neuen Kunden anlegen... 5. Angebot und Aufmaß erstellen... 6. Rechnung erstellen...

Vorwort... 2. Installation... 3. Hinweise zur Testversion... 4. Neuen Kunden anlegen... 5. Angebot und Aufmaß erstellen... 6. Rechnung erstellen... Inhalt Vorwort... 2 Installation... 3 Hinweise zur Testversion... 4 Neuen Kunden anlegen... 5 Angebot und Aufmaß erstellen... 6 Rechnung erstellen... 13 Weitere Informationen... 16 1 Vorwort Wir freuen

Mehr

Apps-Entwicklung mit Eclipse

Apps-Entwicklung mit Eclipse JDroid mit Eclipse Seite 1 Apps-Entwicklung mit Eclipse Version 1.1, 30. April 2013 Vorbereitungen: 1. JDK installieren JDK SE neuste Version (64 oder 32 Bit) herunterladen und installieren (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Einrichtung einer Projektzeitenmanager Datenbank auf einem Firebird Datenbankserver. Mit Hilfe des Programmes pzmadmin v1.6.x

Einrichtung einer Projektzeitenmanager Datenbank auf einem Firebird Datenbankserver. Mit Hilfe des Programmes pzmadmin v1.6.x Einrichtung einer Projektzeitenmanager Datenbank auf einem Firebird Datenbankserver Mit Hilfe des Programmes pzmadmin v1.6.x Inhaltsverzeichnis Inhaltsverzeichnis...2 Voraussetzungen...3 Schritt 1: Verbindungsdaten

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Projekt Sudoku 1. Teil Case Select

Projekt Sudoku 1. Teil Case Select Projekt Sudoku 1. Teil Case Select Wir wollen eine unterstützende Software erstellen, die nicht komplette Berechnung selbständig vornimmt, sondern nur dem Spieler Hilfen beim Ausfüllen gibt. So sollen

Mehr

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in

Mehr

Rechnungsübersicht als Exceltabelle aus ADULO heraus erzeugen

Rechnungsübersicht als Exceltabelle aus ADULO heraus erzeugen Rechnungsübersicht als Exceltabelle aus ADULO heraus erzeugen Inhalt 1. Aktivieren Sie in ADULO GS die neue Oberfläche... 1 2. Belegkreis Rechnungen öffnen... 2 3. Nicht benötigte Spalten ausblenden...

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen

Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen Problem: In relationalen Datenbanken verteilen sich die Informationen i.d.r. auf mehrere Tabellen. Die Eingabe neuer Daten und die

Mehr

Eclipse 3.0 (Mac) 1. Eclipse installieren. 2. Welcome Projekt schliessen

Eclipse 3.0 (Mac) 1. Eclipse installieren. 2. Welcome Projekt schliessen Eclipse Seite 1 Eclipse 3.0 (Mac) 1. Eclipse installieren Eclipse kann man von der Webseite http://www.eclipse.org/downloads/index.php herunterladen. Eclipse ist für Windows, Mac und Linux erhältlich.

Mehr

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2 02.10.2015 + 07.10.2015 Seite 1 02.10.2015 + 07.10.2015 Seite 2 1 Anzahl der Klassenarbeiten: Mindestens zwei Klassenarbeiten pro Halbjahr (= 4 KA pro Jahr) Im ersten Ausbildungsjahr gibt es jedoch kein

Mehr

Apps-Entwicklung mit Netbeans

Apps-Entwicklung mit Netbeans JDroid mit Netbeans Seite 1 Apps-Entwicklung mit Netbeans Version 2.2, 30. April 2013 Vorbereitungen: 1. JDK SE neuste Version installieren, (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Schritt 1 - Ein Spielfeld

Schritt 1 - Ein Spielfeld Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes (und später der Buttons und der anderen Bedienelemente). Hier

Mehr

Java Kurzreferenz Für Fortgeschrittene

Java Kurzreferenz Für Fortgeschrittene Java Kurzreferenz Für Fortgeschrittene 1. Initialisierung von Applets: Die Methode init Wenn ein Applet gestartet wird, werden immer zwei Methoden aufgerufen. Diese heissen init und start. Um gewisse Berechnungen

Mehr

Ein Word-Dokument anlegen

Ein Word-Dokument anlegen 34 Word 2013 Schritt für Schritt erklärt Ein Word-Dokument anlegen evor Sie einen Text in Word erzeugen können, müssen Sie zunächst einmal ein neues Dokument anlegen. Die nwendung stellt zu diesem Zweck

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

Etoys für Einsteiger

Etoys für Einsteiger Etoys für Einsteiger Esther Mietzsch (nach einem Vorbild von Rita Freudenberg) März 2010 www.squeakland.org www.squeak.de Starten von Etoys 1. Du steckst Deinen USB Stick in die USB Schnittstelle am Computer.

Mehr

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Wie erzeugt man ein Fotobuch im Internet bei Schlecker Seite Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Punkt 12 bis 24: -Wir arbeiten mit der Software 8-16 -Erstellung

Mehr

Visualiserung des Prinzips von virtuellem Speicher

Visualiserung des Prinzips von virtuellem Speicher Visualiserung des Prinzips von virtuellem Speicher Benutzerhandbuch Inhaltsverzeichnis Installationsanweisung 3 Systemanforderung 3 Das Programm 3 Das Programm starten 3 Das Hauptfenster der segmentorientierten

Mehr

1 Support bei Problemen mit dem Altium Designer

1 Support bei Problemen mit dem Altium Designer 1 Support bei Problemen mit dem Altium Designer Damit der Support gewährleistet werden kann, ist es möglich, mittels TeamViewer und Skype zu arbeiten. Im Folgenden wird die Installation und Verwendung

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Dieses Dokument enthält alle Teilaufgaben zur Java-Pflichtaufgabe für das Sommersemester Aufgabe 1 (Vier Gewinnt 1. Teil)

Dieses Dokument enthält alle Teilaufgaben zur Java-Pflichtaufgabe für das Sommersemester Aufgabe 1 (Vier Gewinnt 1. Teil) Vier Gewinnt Dieses Dokument enthält alle Teilaufgaben zur Java-Pflichtaufgabe für das Sommersemester 2008. Aufgabe 1 (Vier Gewinnt 1. Teil) Implementieren Sie eine Java-Klasse VierGewinnt1, mit einer

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Beschreibung für Import der Protokolldaten nach Microsoft Excel

Beschreibung für Import der Protokolldaten nach Microsoft Excel Beschreibung für Import der Protokolldaten nach Microsoft Excel Revision 1.0 1. Allgemeines Für die DerbyControl Messanlage gibt es Protokollierungsfunktion der Messdaten. Diese Messdaten werden im Programmverzeichnis

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

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

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit

Mehr

Access Verbrecherdatenbank Teil 1

Access Verbrecherdatenbank Teil 1 Access Verbrecherdatenbank Teil 1 Allgemeines In dieser Übung erstellst du mit Microsoft Access eine Verbrecherdatenbank. Dabei lernst du die wesentlichen Elemente einer Datenbank wie Tabellen, Formulare

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

Access Grundlagen. David Singh

Access Grundlagen. David Singh Access Grundlagen David Singh Inhalt Access... 2 Access Datenbank erstellen... 2 Tabellenelemente... 2 Tabellen verbinden... 2 Bericht gestalten... 3 Abfragen... 3 Tabellen aktualisieren... 4 Allgemein...

Mehr

Zentrale Installation

Zentrale Installation Einführung STEP 7 wird durch ein Setup-Programm installiert. Eingabeaufforderungen auf dem Bildschirm führen Sie Schritt für Schritt durch den gesamten Installationsvorgang. Mit der Record-Funktion steht

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

Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager

Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager Homepage-Manager Navigation Home Der Homepage-Manager bietet die Möglichkeit im Startmenü unter dem Punkt Home einfach und schnell

Mehr

Nutzerhandbuch Softwaresystem Inspirata. Benutzerhandbuch Softwaresystem Inspirata

Nutzerhandbuch Softwaresystem Inspirata. Benutzerhandbuch Softwaresystem Inspirata Benutzerhandbuch Softwaresystem Inspirata 1 Inhaltsverzeichnis 1. Login und Logout... 3 2. Kalender/Buchungen auswählen... 5 3. Betreuer... 7 3.1 Buchung anlegen... 7 3.2 Betreuer zuordnen... 8 3.3 Notiz

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

Installation / Update Advantage Database Server. Die Software Hausverwaltung

Installation / Update Advantage Database Server. Die Software Hausverwaltung Installation / Update Advantage Database Server Die Software Hausverwaltung Inhaltsverzeichnis 1. DOWNLOAD DES AKTUELLEN ADVANTAGE DATABASE SERVERS... 1 2. ERSTINSTALLATION DES ADVANTAGE DATABASE SERVERS...

Mehr

Wibu Hardlock Installation

Wibu Hardlock Installation Wibu Hardlock Installation 1..Allgemeines zum Hardlock... 2 2..Automatisierte Installation des Hardlocks bei einer Loco-Soft Installation... 2 3..Manuelle Installation des Hardlocks an einem Einzelplatz...

Mehr

Übungen mit Anleitung. Hamster-Simulator. Nicola Ramagnano 23. Oktober 2011

Übungen mit Anleitung. Hamster-Simulator. Nicola Ramagnano 23. Oktober 2011 Übungen mit Anleitung Hamster-Simulator Nicola Ramagnano 23. Oktober 2011 Dieses Dokument steht unter einer Creative Commons Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 2.5 Schweiz

Mehr

Lehrstuhl für betriebswirtschaftliche Informationssysteme Prof. Dr. Joachim Fischer. Installationsanleitung SAPGUI

Lehrstuhl für betriebswirtschaftliche Informationssysteme Prof. Dr. Joachim Fischer. Installationsanleitung SAPGUI Lehrstuhl für betriebswirtschaftliche Informationssysteme Prof. Dr. Joachim Fischer Installationsanleitung SAPGUI 1 Inhaltsverzeichnis Page 1 Einleitung 3 2 Download 3 3 Installation 4 3.1 GUI-Installation............................

Mehr

Zugang zum BSCW-System an der FH Frankfurt am Main

Zugang zum BSCW-System an der FH Frankfurt am Main BSCW-Redaktion 04.04.2009 Seite 1 Zugang zum BSCW-System an der FH Frankfurt am Main In dieser Anleitung wird beschrieben, wie Sie Ihren BSCW-Arbeitsbereich über WebDAV in Windows einbinden. Um diese Anleitung

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

Mehr