Uwe Post. Android-Apps entwickeln

Größe: px
Ab Seite anzeigen:

Download "Uwe Post. Android-Apps entwickeln"

Transkript

1 Uwe Post Android-Apps entwickeln

2 Auf einen Blick Auf einen Blick 1 Einleitung Ist Java nicht auch eine Insel? Vorbereitungen Die erste App Ein Spiel entwickeln Sound und Animation Internet-Zugriff Kamera und Augmented Reality Sensoren und der Rest der Welt Tipps und Tricks Apps veröffentlichen

3 Inhalt Inhalt Vorwort Einleitung Für wen ist dieses Buch? Magie? Große Zahlen Technologie für alle Die Grenzen der Physik Unendliche Möglichkeiten Baukasten Spiel ohne Grenzen Alles geht Was ist so toll an Android? MapDroyd Google Sky Map Bump c:geo barcoo Öffi Wikitude World Browser Sprachsuche Cut the Rope Shaky Tower Ist Java nicht auch eine Insel? Warum Java? Grundlagen Objektorientierung Klassen und Objekte Konstruktoren

4 Inhalt 2.3 Pakete Packages deklarieren Klassen importieren Klassen implementieren Attribute Methoden Zugriffsbeschränkungen Eigene Konstruktoren Lokale Variablen Daten verwalten Listen Schleifen Vererbung Basisklassen Polymorphie Vorbereitungen Was brauche ich, um zu beginnen? JDK installieren Eclipse installieren Tour durch Eclipse Android Development Tools installieren Android SDK installieren SDK Tools installieren Ein virtuelles Gerät erzeugen Eclipse mit dem Handy verbinden Was tun, wenn mein Eclipse verrücktspielt? Unerklärliche Unterstreichungen Ein Handy namens Fragezeichen Eclipse hängt sich auf Eclipse findet Resource-Dateien nicht

5 Inhalt 4 Die erste App Sag»Hallo«, Android! Ein neues Android-Projekt erstellen Die StartActivity Der erste Start Bestandteile einer Android-App Versionsnummern Activities anmelden Permissions Ressourcen Generierte Dateien Benutzeroberflächen bauen Layout bearbeiten String-Ressourcen Layout-Komponenten Weitere visuelle Komponenten Buttons mit Funktion Der OnClickListener Den Listener implementieren Eine App installieren Start mit ADT Installieren per USB Installieren mit ADB Drahtlos installieren Ein Spiel entwickeln Wie viele Stechmücken kann man in einer Minute fangen? Der Plan Das Projekt erzeugen Layouts vorbereiten Die GameActivity

6 Inhalt 5.2 Grafiken einbinden Die Mücke und der Rest der Welt Grafiken einbinden Die Game Engine Aufbau einer Game Engine Ein neues Spiel starten Eine Runde starten Den Bildschirm aktualisieren Die verbleibende Zeit herunterzählen Prüfen, ob das Spiel vorbei ist Prüfen, ob eine Runde vorbei ist Eine Mücke anzeigen Eine Mücke verschwinden lassen Das Treffen einer Mücke mit dem Finger verarbeiten »Game Over« Der Handler Der erste Mückenfang Retrospektive Feineinstellungen Hintergrundbilder Elefanten hinzufügen Sound und Animation Sounds hinzufügen Sounds erzeugen Sounds als Ressource Sounds abspielen Der MediaPlayer MediaPlayer initialisieren Zurückspulen und Abspielen Einfache Animationen Views einblenden Wackelnde Buttons Interpolation

7 Inhalt 6.4 Fliegende Mücken Grundgedanken zur Animation von Views Geschwindigkeit festlegen Mücken bewegen Bilder programmatisch laden If-else-Abfragen Zweidimensionale Arrays Resource-IDs ermitteln Retrospektive Internet-Zugriff Highscores speichern Highscore anzeigen Activities mit Rückgabewert Werte permanent speichern Rekordhalter verewigen Bestenliste im Internet Ein App Engine-Projekt URL-Parameter entgegennehmen Daten im High Replication Datastore speichern Highscores aus dem Datastore auslesen Die Internet-Erlaubnis Der Android-HTTP-Client Background-Threads Die Oberfläche aktualisieren Highscores zum Server schicken HTML darstellen HTML mit Bildern Listen mit Adaptern ListViews ArrayAdapter Eigene Adapter Recyceln von Views

8 Inhalt 8 Kamera und Augmented Reality Die Kamera verwenden Der CameraView CameraView ins Layout integrieren Die Camera-Permission Bilddaten verwenden Bilddaten anfordern Bilddaten auswerten Tomaten gegen Mücken Sensoren und der Rest der Welt Himmels- und sonstige Richtungen Der SensorManager Rufen Sie nicht an, wir rufen Sie an Die Kompassnadel und das Canvas-Element View und Activity verbinden Wo fliegen sie denn? Sphärische Koordinaten Die virtuelle Kamera Mücken vor der virtuellen Kamera Der Radarschirm Beschleunigung und Erschütterungen Ein Schrittzähler Mit dem SensorEventListener kommunizieren Schritt für Schritt Hintergrund-Services Eine Service-Klasse Service steuern Einfache Service-Kommunikation Arbeiten mit Geokoordinaten Der Weg ins Büro Koordinaten ermitteln Karten und Overlay

9 Inhalt 10 Tipps und Tricks Fehlersuche Einen Stacktrace lesen Logging einbauen Schritt für Schritt debuggen Views mit Stil Hintergrundgrafiken Styles Themes Button-Zustände Patches Dialoge Standarddialoge Eigene Dialoge Toasts Layout-Gefummel RelativeLayouts Layout-Gewichte Troubleshooting Eclipse installiert die App nicht auf dem Handy App vermisst existierende Ressourcen LogCat bleibt stehen Apps veröffentlichen Vorarbeiten Zertifikat erstellen Das Entwicklerkonto Die Entwicklerkonsole Hausaufgaben Updates Statistiken Fehlerberichte

10 Inhalt 11.3 In-App-Payment In-App-Produkte Der BillingService-Apparat BillingReceiver und BillingResponseHandler Alternative Markets Amazon AppStore AppsLib AndroidPIT App Center SlideME.org Die Buch-DVD Index

11 Kapitel 5 Ein Spiel entwickeln»eigentlich mag ich gar keine Pixel.«(Pac Man) 5 Wenn Sie gelegentlich mit öffentlichen Verkehrsmitteln unterwegs sind, wird Ihnen die wachsende Anzahl Pendler aufgefallen sein, die konzentriert auf ihr Handy starren, anstatt die schöne Aussicht zu genießen. Manch einer liest seine s oder ist in irgendeinem sozialen Netzwerk unterwegs, andere mögen tatsächlich noch etwas Antikes wie eine SMS verfassen aber eine ganze Reihe Menschen nutzt die Zeit im Zug, um zu spielen. Smartphones machen es möglich. Nicht nur dem Anwender, sondern auch dem Entwickler machen Spiele mehr Spaß. Aus diesem Grund lernen Sie die weiteren Schritte der Android-Programmierung anhand eines Spiels. Wir beginnen mit einem recht simplen Game, aber in jedem Kapitel fügen Sie weitere Funktionen hinzu, bis das Resultat Ihre Mitmenschen in Staunen versetzt. Jedenfalls wenn sie hören, dass Sie es programmiert haben, obwohl Sie vor ein paar Tagen vielleicht noch gar kein Java konnten. 5.1 Wie viele Stechmücken kann man in einer Minute fangen? Gehören Sie auch zu den bevorzugten Getränken der Insektenfamilie namens Culicidae? Meine Frau hat gut reden, wenn ich mitten in der Nacht das Licht anschalte, um auf die Jagd nach einem summenden Vampir zu gehen: Ihr Blut schmeckt den Mistviechern ja nicht. Es wird Zeit für eine fürchterliche Rache. Millionen Mücken sollen künftig zerquetscht werden, um der Gerechtigkeit Genüge zu tun. Und zwar auf den Bildschirmen Ihrer Handys, liebe Leser. Gut, die Mücken sind nicht echt, die App ist nur ein Spiel. Aber es gibt mir Genugtuung. 131

12 5 Ein Spiel entwickeln Der Plan Wie soll das Spiel funktionieren? Stellen Sie sich vor, dass Sie auf dem Handy-Bildschirm kleine Bilder von Mücken sehen. Sie tauchen auf und verschwinden, und es sind viele. Treffen Sie eine mit dem Finger, bevor sie verschwindet, erhalten Sie einen Punkt. Sobald Sie eine geforderte Anzahl Punkte erreicht haben, ist die Runde vorbei spätestens aber nach einer Minute. In dem Fall heißt es»game Over«: Sie haben verloren. Ansonsten geht das Spiel mit der nächsten, schwierigeren Runde weiter. Vermutlich kommt Ihnen jetzt eine ganze Menge Ideen: Die Mücken könnten sich bewegen, man könnte einen Highscore speichern, oder jedes zerquetschte Insekt könnte ein lustiges Geräusch von sich geben. Solche Ideen sind wunderbar machen Sie sich Notizen für später. Denn die Grundversion des Spiels zu bauen, ist als erster Schritt Herausforderung genug. Halten Sie sich vor Augen, welche Fähigkeiten die Mücken-App haben muss: zwei verschiedene Layouts, ein Startbildschirm und das eigentliche Spiel Bilder von Mücken an zufälligen Stellen anzeigen und verschwinden lassen den berührungsempfindlichen Bildschirm verwenden, um festzustellen, ob der Spieler eine Mücke getroffen hat eine Zeitanzeige rückwärts laufen lassen bis zum»game Over«Das klingt überschaubar, nicht wahr? Es ist eine wichtige Regel für Projekte in der Informationstechnologie, größere Aufgaben in kleinere zu unterteilen und jene der Reihe nach anzugehen. Nehmen Sie sich am Anfang nie zu viel vor, denn kleine Schritte bringen schneller Erfolge, und Sie verlieren nicht so leicht den Überblick. Bereit? Möge die Jagd beginnen Das Projekt erzeugen Als ersten Schritt legen Sie in Eclipse ein neues Android-Projekt an. Schließen Sie alle anderen Projekte im Workspace, indem Sie das Kontextmenü mit der rechten Maustaste öffnen und Close wählen. Starten Sie den Wizard für ein neues Android-Projekt ((Strg)+(N)). Nennen Sie das Projekt nicht Mückenmassaker, denn ein Umlaut ist an dieser Stelle unerwünscht. Mueckenmassaker oder, falls es Ihnen aus irgendeinem Grund lieber ist, Mueckenfang funktionieren. 132

13 5.1 Wie viele Stechmücken kann man in einer Minute fangen? Wählen Sie einen passenden Package-Namen, und lassen Sie sich für den Anfang eine Activity namens MueckenfangActivity erstellen. Verwenden Sie als Build Target und Min SDK Version die 8, also Android 2.2, es sei denn, Sie haben ein älteres Smartphone (Abbildung 5.1). 5 Abbildung 5.1 Der Mückenfang beginnt, bloß ohne Umlaute. Werfen Sie einen Blick auf die Dateien, die der Wizard erzeugt hat. Wie schon bei Ihrer ersten App finden Sie den Quellcode Ihrer Activity, das Android-Manifest und ein Standard-Icon im res-verzeichnis Layouts vorbereiten Der Android-Wizard hat unter anderem eine Layout-Datei main.xml erzeugt. Dieses Layout wird später den Startbildschirm des Spiels definieren. 133

14 5 Ein Spiel entwickeln Für das eigentliche Spiel benötigen Sie ein zweites Layout. Doppelklicken Sie auf main.xml, und erzeugen Sie eine Kopie, indem Sie die Datei mit File Save As unter einem neuen Namen speichern: game.xml. Das geht schneller als mit dem zugehörigen Wizard, der natürlich ebenfalls zur Verfügung steht. Löschen Sie die TextView, damit die Layouts auf den ersten Blick unterscheidbar sind. Das endgültige Layout werden Sie zu einem späteren Zeitpunkt erstellen. Öffnen Sie dann erneut das Layout main.xml, und fügen Sie einen Button mit der Aufschrift Start hinzu (siehe Abschnitt 4.3,»Benutzeroberflächen bauen«). Da Sie dabei ohnehin die strings.xml bearbeiten müssen, ändern Sie den»hello«-text in»willkommen beim Mückenfang« Die GameActivity Aus dem Spielkonzept geht hervor, dass Sie zwei Screens benötigen: Da ist zunächst der Hauptbildschirm, der den Spieler begrüßt, ihm vielleicht das Spiel erklärt und natürlich einen Start-Button bietet. Verwenden Sie die vom Wizard erzeugte MueckenfangActivity als Basis dafür, denn diese Activity ist im Android-Manifest bereits als Start-Activity definiert. Das ist genau das gewünschte Verhalten: Wenn der Spieler das App-Icon antippt, gelangt er in den Hauptbildschirm. Der zweite Screen wird das eigentliche Spiel darstellen. Dazu benötigen Sie eine zweite Activity, für die sich der Name GameActivity anbietet. Drücken Sie (Strg)+(N), und wählen Sie den Wizard zum Erzeugen einer neuen Java-Klasse (Abbildung 5.2). Abbildung 5.2 Reichhaltiges Wizard-Angebot

15 5.1 Wie viele Stechmücken kann man in einer Minute fangen? Der Wizard zeigt Ihnen einen Dialog, in dem Sie die wichtigsten Eckdaten der gewünschten Klassen eintragen können. Dazu gehört an erster Stelle der Name, in diesem Fall GameActivity. Achten Sie darauf, dass der richtige Package-Name vorausgefüllt ist. Tragen Sie als Basisklasse für Activities immer android.app.activity ein. An diesem Textfeld signalisiert die kleine Glühbirne, dass Eclipse bereit ist, Sie bei der Eingabe zu unterstützen. Tippen Sie»Activity«, gefolgt von (Strg) + Leertaste, und Sie sparen dank Content Assist Tipparbeit (Abbildung 5.3). Beenden Sie den Wizard mit Finish. 5 Abbildung 5.3 Der Wizard erzeugt die»gameactivity«mit wenigen Klicks. Das Resultat zeigt Ihnen Eclipse sofort an: Den Quellcode Ihrer neuen Activity. Sie hätten diesen Java-Code auch höchstpersönlich eintippen können, und viele Programmierer ziehen das durchaus vor es ist Geschmackssache. Die Hauptsache ist, dass Sie die verschiedenen Wege kennen, die zu einem bestimmten Resultat führen. Welcher Ihnen am meisten liegt, können Sie selbst entscheiden. Sorgen Sie nun dafür, dass die GameActivity das richtige Layout anzeigt. Am einfachsten bekommen Sie das hin, indem Sie den betreffenden Code aus der MueckenfangActivity 135

16 5 Ein Spiel entwickeln übernehmen: Öffnen Sie also diese Klasse, und kopieren Sie die oncreate()-methode hinüber in die GameActivity. Übergeben Sie dann anstelle von R.layout.main an setcontentview() R.layout.game. Der Code sieht dann wie folgt aus: package de.androidnewcomer.mueckenfang; import android.app.activity; import android.os.bundle; public class GameActivity extends Activity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.game); Im Layout main.xml haben Sie bereits einen Button eingefügt, und wie Sie den Klick behandeln, wissen Sie schon aus Abschnitt 4.4.1,»Der OnClickListener«. Fügen Sie also eine Methode onclicklistener() in die Klasse MueckenfangActivity ein, und lassen Sie sie das Interface OnClickListener implementieren: public class MueckenfangActivity extends Activity implements OnClickListener public void onclick(view v) { Sorgen Sie nun dafür, dass diese Methode die GameActivity startet, indem Sie darin die Methode startactivity() aufrufen: startactivity(new Intent(this, GameActivity.class)); Das Intent-Objekt, das Sie als Parameter übergeben müssen, definiert, welche Klasse Android für die zu startende Activity verwenden soll. Mit solchen Intent-Objekten lässt sich noch eine ganze Menge mehr anstellen ich werde später darauf zurückkommen. Beachten Sie, dass dieser Aufruf zwar die GameActivity startet, aber die aktuelle Activity nicht beendet. Sie können daher später mit der Zurück-Taste am Gerät von der Game- Activity in die MueckenfangActivity zurückkehren. Es gibt durchaus die Möglichkeit, eine Activity zu beenden (mit der Methode finish()), allerdings ist das Standardverhalten im Sinne unseres Spiels. 136

17 5.1 Wie viele Stechmücken kann man in einer Minute fangen? Verbinden Sie als Nächstes in der oncreate()-methode den Button mit der Activity (siehe ebenfalls Abschnitt 4.4.1): Button button = (Button) findviewbyid(r.id.button1); button.setonclicklistener(this); Der Code der MueckenfangActivity sieht damit wie folgt aus: package de.androidnewcomer.mueckenfang; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; 5 public class MueckenfangActivity extends Activity implements OnClickListener public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Button button = (Button) findviewbyid(r.id.button1); public void onclick(view v) { startactivity(new Intent(this,GameActivity.class)); Melden Sie zum Schluss die neue GameActivity im Android-Manifest an (siehe Abschnitt 4.2.2,»Activities anmelden«). Prüfen Sie, ob irgendwo Tippfehler rote Fehler-Symbole verursachen. Wenn nicht, starten Sie die App mit Rechtsklick auf das Projekt und Run As... Android Application entweder im Emulator oder auf einem angeschlossenen Smartphone. Bislang ist von einem Spiel nichts zu sehen: Sie können mit dem Start-Button zum leeren Game-Screen wechseln und mit der Zurück-Taste wieder zurück. Es wird Zeit, die Schwärze der vorgefertigten Layouts gegen etwas Ansehnlicheres auszutauschen: Grafiken. 137

18 5 Ein Spiel entwickeln 5.2 Grafiken einbinden Die grafischen Elemente der ersten Version der Mückenjagd sind überschaubar: Sie benötigen offensichtlich ein Bild von einer Mücke Die Mücke und der Rest der Welt Je nach Zeichentalent oder Ihrer Geduld, Insekten mit Makroobjektiven aufzulauern, können Sie unterschiedliche Grafiken verwenden. Kommen Sie bitte nicht auf die Idee, das nächstbeste Bild aus der Google-Bildersuche zu kopieren: Jene Bilder sind fast immer urheberrechtlich geschützt. Für die Mückenjagd ist das weniger relevant, weil Sie die kaum in Google Play veröffentlichen werden, aber bei eigenen Spielideen müssen Sie in dieser Hinsicht vorsichtig sein. Wenn Sie Ihr Zeichentalent ausprobieren wollen, empfehle ich Ihnen das Vektorgrafikprogramm Inkscape, das für alle Betriebssysteme frei verfügbar und auf der Buch-DVD enthalten ist. Mit wenigen Mausklicks zeichnen Sie die wesentlichen Körperteile des fraglichen Insekts (Abbildung 5.4). Speichern Sie die Grafik nicht nur im Vektorformat SVG, sondern exportieren Sie sie auch als PNG in einer Auflösung von etwa Pixeln. Alternativ verwenden Sie meinen Entwurf, den Sie auf der DVD in eclipse-projekte/mueckenfang/verschiedenes finden. Übrigens empfehle ich Ihnen, für nebenbei anfallende Dateien wie die Vektordatei einen Ordner verschiedenes im Projektverzeichnis zu erstellen. Auf diese Weise haben Sie immer alle relevanten Dateien griffbereit. Speichern Sie die Pixeldatei muecke.png (ohne Umlaute!) im Verzeichnis drawablemdpi. Vermutlich müssen Sie in Eclipse einmal das Verzeichnis aktualisieren ((F5)), damit die PNG-Datei auftaucht. Benennen Sie drawable-mdpi in drawable um, denn vorerst kümmern wir uns nicht um niedrige oder hohe Bildschirmauflösungen. Löschen Sie die anderen drawable-verzeichnisse, und löschen Sie außerdem die Datei icon.png, die das weiße Standard-Icon enthält. Legen Sie stattdessen eine Kopie der Mücke unter diesem Namen an die gleiche Stelle. Klicken Sie dazu muecke.png an, und drücken Sie (Strg)+(C) zum Kopieren und (Strg)+(V) zum Einfügen. Eclipse bittet Sie automatisch, einen anderen Dateinamen zu vergeben: Geben Sie dann»icon.png«ein. Mücken zu fangen, macht auf einem nachtschwarzen Bildschirm wenig Spaß. Natürlich könnten Sie auch für den Hintergrund eine Zeichnung verwenden. Alternativ schießen Sie einfach ein Foto mit der ins Handy eingebauten Kamera (hochkant). Skalieren Sie das Foto auf 640 Pixel Breite und 800 oder 854 Pixel Höhe (je nach Seitenverhältnis Ihrer Kamera und Auflösung Ihres Handy-Bildschirms). Speichern Sie das Bild als hintergrund.jpg im drawable-verzeichnis. 138

19 5.2 Grafiken einbinden 5 Abbildung 5.4 Entwerfen Sie Ihre Mücke z. B. mit Inkscape, wenn Sie mit dem Makroobjektiv keinen Erfolg haben Grafiken einbinden Nun sind die Hintergrundgrafik sowie die Mücke Teil Ihres Projekts. Im nächsten Schritt werden Sie die Bilder in die Layouts einbauen. Beginnen Sie mit der Datei main.xml: Öffnen Sie das Layout, dann klicken Sie mit rechts in den leeren, schwarzen Hintergrundbereich. Wählen Sie im Popup-Menü Properties Background..., und es erscheint der Reference Chooser, der unter anderem die drawable-ressourcen, die dem Projekt bekannt sind, auflistet (Abbildung 5.5). In diesem Fall ist hintergrund die offensichtlich richtige Wahl. Fertig: In der Vorschau ist Ihr Foto zu sehen. 139

20 5 Ein Spiel entwickeln Abbildung 5.5 Im Reference Chooser wählen Sie die richtige Grafik aus. Fügen Sie als Nächstes aus der Palette eine ImageView zwischen TextView und Start- Button ein. Diesmal präsentiert Ihnen Eclipse automatisch den Resource Chooser, in dem Sie die Mücke auswählen. Verschönern Sie den Bildschirm weiter, indem Sie dem Hintergrund die Gravity center befehlen, die Breite der TextView auf wrap_content ändern und die TextSize auf 20sp erhöhen. Dabei steht sp für scale-independant pixels. Diese Einheit sorgt dafür, dass die Schrift auf allen Geräten im Verhältnis zu anderen Elementen gleich groß ist egal, wie hoch die physikalische Auflösung des Bildschirms ist, außerdem wird die vom Benutzer gewählte Font-Größe berücksichtigt. Versehen Sie schließlich die ImageView mit einem Padding von etwa 20dp, um Abstand zwischen der Mücke und den restlichen Elementen zu schaffen. Der Standardbildschirm hat eine Breite von 320 Bildpunkten, daher ergibt ein Rand von 20 ein brauchbares Erscheinungsbild. Die Einheit dp steht für device independant pixels und ähnelt der Einheit sp, berücksichtigt allerdings nicht die benutzerspezifische Font- Größe. Folglich verwenden Sie sp immer bei TextSize-Angaben und dp bei allen anderen. All diese Einstellungen nehmen Sie entweder über das Kontextmenü oder über die Properties-View vor. Experimentieren Sie mit den verschiedenen Einstellungen, bis Ihnen der Screen gefällt (Abbildung 5.6). Zum Schluss ordnen Sie dem Layout game.xml ebenfalls Ihr Hintergrundbild zu. Wenn Sie möchten, können Sie natürlich zwei verschiedene Bilder verwenden, die Sie mit unterschiedlichen Dateinamen versehen. 140

21 5.3 Die Game Engine 5 Abbildung 5.6 Basteln Sie bitte ein hübscheres Startscreen-Layout als ich. Probieren Sie Ihre App auf dem Handy aus, und kochen Sie sich frischen Kaffee oder Tee, bevor die Arbeit am eigentlichen Spiel beginnt. 5.3 Die Game Engine Vielleicht spielen Sie gelegentlich Brettspiele. Egal, ob Schach, Siedler von Catan oder Monopoly: Alle Spiele haben eine wichtige Gemeinsamkeit, nämlich Spielregeln. Üblicherweise sind sie in Schriftform beigelegt, oder alle Teilnehmer haben sie im Kopf, weil sie übersichtlich und leicht zu behalten sind (im Fall von Schach). Ohne Regeln wäre ein Spiel sinnlos. 141

22 5 Ein Spiel entwickeln Bei Brettspielen sind die Mitspieler selbst dafür zuständig, auf die Einhaltung der Regeln zu achten. Bei Computerspielen funktioniert das nicht, weil ein Teil der Spielfunktionen (manchmal sogar ganze Mitspieler) aus Software bestehen. Deshalb ist es von entscheidender Bedeutung, dass die Spielregeln vollständig in Programmcode vorhanden sind. Da der Computer üblicherweise auch noch die Darstellung der Spielutensilien übernimmt, ist es nötig, die Regeln und die Bildschirmausgabe zu koppeln. Um all das kümmert sich eine Game Engine Aufbau einer Game Engine Auf den ersten Blick mag es sinnvoll erscheinen, die Game Engine als eigene Java-Klasse zu implementieren. Je nach Komplexität eines Spiels genügt allerdings eine einzige Klasse nicht Sie benötigen ein ganzes Package. Bei einfachen Android-Spielen wie der Mückenjagd, die noch dazu sehr eng an die grafische Darstellung gebunden sind, ist es oft möglich, die Game Engine in einer Activity-Klasse unterzubringen. In unserem Fall wäre das die Klasse GameActivity. Welche Komponenten benötigt eine Game Engine? Überlegen Sie zunächst, welche Attribute nötig sind, um den jeweils aktuellen Zustand des Spiels zu beschreiben: Nummer der laufenden Runde (beginnend mit 1) Anzahl zu fangender Mücken in der laufenden Runde Anzahl schon gefangener Mücken in der laufenden Runde verbleibende Zeit für die laufende Runde (zu Beginn jeder Runde, beginnend bei 60 Sekunden) Anzahl erzielter Punkte Halten Sie sich vor Augen, dass Sie vermutlich jedes dieser Attribute in Ihrer Klasse wiederfinden werden. Schließlich überlegen Sie, welche Methoden erforderlich sind, um Spielereignisse und Aktionen des Spielers auszuführen: ein neues Spiel starten eine neue Runde starten den Bildschirm aktualisieren die verbleibende Zeit herunterzählen prüfen, ob das Spiel vorbei ist eine Mücke anzeigen 142

23 5.3 Die Game Engine eine Mücke verschwinden lassen das Treffen einer Mücke mit dem Finger verarbeiten»game Over«Sie können sich schon denken, dass für jeden Punkt in dieser Liste eine Methode in Ihrer Game Engine erforderlich ist. Auf den ersten Blick sieht das nach einer ganzen Menge Arbeit aus für ein so einfaches Spiel, und damit liegen Sie nicht ganz falsch. 5 Bedenken Sie jedoch, dass Ihrem Spielcomputer selbst die simpelsten und selbstverständlichsten Regeln (treffe ich eine Mücke, verschwindet sie, und ich erhalte einen Punkt) fremd sind. Sie müssen jede Kleinigkeit explizit programmieren. Dass Sie sich zum jetzigen Zeitpunkt bereits eine Menge Gedanken gemacht haben, wird Ihnen beim Programmieren viel Zeit sparen. Denn die meisten Programmzeilen werden sich fast von allein ergeben. Lassen Sie uns zunächst aufschlüsseln, was in jeder der Methoden geschehen muss Ein neues Spiel starten Die Methode zum Start eines neuen Spiels wird offensichtlich aufgerufen werden, wenn der Benutzer auf den Start-Button drückt. Überlegen Sie, welche Attribute gesetzt werden müssen: laufende Runde = 0 (Sie werden gleich sehen, warum 0 und nicht 1) Anzahl erzielter Punkte = 0 eine neue Runde starten Beachten Sie, dass»eine neue Runde starten«für jede Runde gleichermaßen funktionieren soll. Es gibt keine separate Methode»erste Runde starten«. Folglich sieht die Methode zum Starten eines neuen Spiels sehr übersichtlich aus: private void spielstarten() { spiellaeuft = true; runde = 0; punkte = 0; starterunde(); Sie vermissen vielleicht die anderen Attribute. Aber um die kümmert sich die nächste Methode. Überlegen Sie immer genau, an welcher Stelle eine Aktion auszuführen ist. Oft können Sie so redundanten Programmcode vermeiden. Beispielsweise wäre es nicht falsch, in dieser Methode die Anzahl schon gefangener Mücken auf 0 zu setzen. Da dies 143

24 5 Ein Spiel entwickeln aber in jeder Runde geschehen muss und nicht bloß am Anfang des Spiels, genügt es, den Code in die Rundenstart-Methode zu schreiben. Und zu der kommen wir als Nächstes Eine Runde starten Welche Aktionen sind beim Start einer Runde nötig? Beachten Sie, dass diese Methode sowohl für die erste als auch für jede weitere Runde funktionieren muss, und zwar möglichst ohne komplizierte Spezialbehandlung: Nummer der laufenden Runde um 1 erhöhen (Jetzt verstehen Sie, warum dieses Attribut beim Spielstart auf 0 gesetzt wird, nicht wahr? Halten Sie sich vor Augen, dass diese einfache Zeile dank dieses Tricks in jeder weiteren Runde gleichermaßen funktioniert!) Anzahl der zu fangenden Mücken in dieser Runde auf einen bestimmten Wert setzen, der in jeder Runde immer größer wird, Beispiel: 10, 20, 30,... also das Zehnfache der Nummer der Runde Anzahl der schon gefangenen Mücken in dieser Runde = 0 verbleibende Zeit für die laufende Runde = 60 Sekunden den Bildschirm aktualisieren Auch in dieser Methode finden Sie keine höhere Magie. Je komplizierter ein Spiel ist, umso kniffliger ist es allerdings, sich die richtigen Operationen zu überlegen. Manchmal liegen Sie mit Ihrem ersten Versuch schief. Das macht nichts, denn im Gegensatz zu einem Brettspiel, das Sie vielleicht plötzlich mit Flughäfen anstelle von Bahnhöfen bedrucken müssten, bedarf es nur weniger Änderungen am Programmcode, um ein ganz unterschiedliches Verhalten des Spiels zu erreichen. Die Methode wird wie folgt aussehen: private void starterunde() { runde = runde +1; muecken = runde * 10; gefangenemuecken = 0; zeit = 60; bildschirmaktualisieren(); Sie sehen, dass diese Methode die erste ist, die mit dem Bildschirm interagiert. Werfen wir als Nächstes einen genaueren Blick darauf, was der Spieler zu sehen bekommt. 144

25 5.3 Die Game Engine Den Bildschirm aktualisieren Schließen Sie die Augen (oder starren Sie auf ein leeres Blatt Papier), um sich vorzustellen, wie der Spielbildschirm aussehen soll. Natürlich nimmt die Fläche, auf der die Mücken erscheinen, den größten Raum ein. Davon abgesehen, möchte der Spieler aber ständig einige Informationen sehen können: aktuelle Punktzahl Nummer der aktuellen Runde Anzahl gefangener und noch zu fangender Mücken verbleibende Zeit 5 Entscheiden Sie für jede der Informationen, wie wichtig sie ist und welches der beste Weg ist, sie dem Spieler zu vermitteln. Beispielsweise ist eine numerische Anzeige der verbleibenden Zeit gut und schön, aber im Eifer des Spiels alleine nicht günstig. Viel praktischer ist ein Balken, der immer kürzer wird, bis die Zeit abgelaufen ist. Ähnliches gilt für die Anzahl zu fangender Mücken: In einem Spiel, in dem es auf Tempo ankommt, sollte der Spieler keine Ziffern ablesen müssen. Wählen Sie also auch hier einen zusätzlichen Balken: Immer wenn eine Mücke gefangen wird, verlängert sich der Balken, bis er bei erfolgreichem Beenden der Runde die volle Bildschirmbreite erreicht hat. Für den Anfang positionieren wir beide Balken vor unserem geistigen Game-Design- Auge am unteren Bildschirmrand, aber in verschiedenen Farben. Die aktuelle Punktzahl und die laufende Runde können prima am oberen Rand in der linken und der rechten Ecke erscheinen. Aufgabe der Methode wird es also sein, die korrekten Zahlen in die Layout-Elemente einzutragen und die Länge der Balken richtig zu setzen. Schreiten Sie zur Tat, und fügen Sie die nötigen Elemente in das Layout game.xml ein. Derzeit besteht das Layout lediglich aus einem LinearLayout-Element mit vertikaler Aufteilung. Das ist ein brauchbarer Ausgangspunkt, aber um das gewünschte Design zu erhalten, müssen Sie weitere Layout-Elemente verschachteln. Die obere Punkteleiste soll eine Anzeige links und eine rechts enthalten. Das entspricht zwei TextView-Elementen, wobei das eine eine linksseitige Layout Gravity (nicht Gravity!) erhält und das andere eine rechtsseitige. Verwenden Sie ein FrameLayout, um die beiden TextViews zu umschließen, ohne dass sie einander in die Quere kommen. Ziehen Sie als Erstes ein FrameLayout aus der Palette, und es wird sich am oberen Rand des Bildschirms anordnen. Pflanzen Sie zwei TextViews mit großer Schrift (Large Text) hinein, ändern Sie deren IDs mit dem Kontextmenü Edit ID... auf points bzw. round, und setzen Sie bei dem einen das Property Layout Gravity auf right. Sie müssen 145

Android-Apps entwickeln

Android-Apps entwickeln Galileo Computing Android-Apps entwickeln Ideal für Programmiereinsteiger geeignet Bearbeitet von Uwe Post 1. Auflage 2011. Taschenbuch. 382 S. Paperback ISBN 978 3 8362 1813 9 Format (B x L): 23 x 17,2

Mehr

Auf einen Blick. 1 Einleitung... 15. 2 Ist Java nicht auch eine Insel?... 41. 3 Vorbereitungen... 71. 4 Die erste App... 101

Auf einen Blick. 1 Einleitung... 15. 2 Ist Java nicht auch eine Insel?... 41. 3 Vorbereitungen... 71. 4 Die erste App... 101 Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Ist Java nicht auch eine Insel?... 41 3 Vorbereitungen... 71 4 Die erste App... 101 5 Ein Spiel entwickeln... 145 6 Sound und Animation... 197 7 Internet-Zugriff...

Mehr

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

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

Modellierung einer Android-App. 2. Mai 2013

Modellierung einer Android-App. 2. Mai 2013 Modellierung einer Android-App 2. Mai 2013 Taentzer Software-Praktikum 2013 42 Überblick Modellierung der wesentlichen Aspekte Welche Anwendungsfälle haben wir? Übersicht durch Anwendungsfalldiagramme

Mehr

3 Berechnungen und Variablen

3 Berechnungen und Variablen 3 Berechnungen und Variablen Du hast Python installiert und weißt, wie man die Python-Shell startet. Jetzt kannst Du etwas damit machen. Wir fangen mit ein paar einfachen Berechnungen an und wenden uns

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

APPS FÜR ANDROID ENTWICKELN

APPS FÜR ANDROID ENTWICKELN jan TITTEL jochen BAUMANN ELL N H C S IEG T S N I E APPS FÜR ANDROID ENTWICKELN AM BEISPIEL EINER REALEN APP Inhalt 1 Einführung.............................................. 1 1.1 Die Android-Plattform.................................................

Mehr

Einführung in Android. 9. Dezember 2014

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

Mehr

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

Ab jetzt: Java ohne Kara

Ab jetzt: Java ohne Kara Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen JavaKara -> Java Ablauf in JavaKara: 1. Programm schreiben 2. Kompilieren 3. Programm starten Ablauf in Java

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

Slices und Rollover für die Startseite einer Bildergalerie

Slices und Rollover für die Startseite einer Bildergalerie Slices und Rollover für die Startseite einer Bildergalerie Die größte Frage bei einer Webseite ist es, auf ggf. viele Informationen von der relativ kleinen Fläche eines Bildschirmes zu verweisen. Dabei

Mehr

Fotos in einer Diashow bei PPT

Fotos in einer Diashow bei PPT Fotos in einer Diashow bei PPT Drei mögliche Verfahren, mit Bildern eine PPT-Präsentation aufzuwerten, möchte ich Ihnen vorstellen. Verfahren A Fotoalbum Schritt 1: Öffnen Sie eine leere Folie in PPT Schritt

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 13.09.2005 E-Mail Briefpapier und Signatur (Visitenkarte) erstellen Mit FlowFact können Sie beliebig viele E-Mail-Vorlagen speichern, um zu gegebenem Anlass (z.b.

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

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

Arbeiten mit BlueJ. Objektorientiertes Programmieren in Java mit BlueJ

Arbeiten mit BlueJ. Objektorientiertes Programmieren in Java mit BlueJ Arbeiten mit BlueJ Compilieren, Editieren, Objekte erzeugen, Methoden aufrufen, Objekte inspizieren, vorhandene Klassen benutzen, eigene Klassen und Methoden erstellen In BlueJ geht es einfach BlueJ durch

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Anwendungsbeschreibung des ReNoStar-Druckers

Anwendungsbeschreibung des ReNoStar-Druckers Anwendungsbeschreibung des ReNoStar-Druckers Stand September 2007 Inhalt Inhalt... 2 Anforderung aus der Praxis... 3 Die ReNoStar Drucker-Leiste... 3 Erstellen einer Vorlage... 3 Reihenfolge der Vorlagen

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

Beim Schreiben von kürzeren Text reicht es völlig, wenn Sie

Beim Schreiben von kürzeren Text reicht es völlig, wenn Sie 5 Vorlagen gestalten In diesem Kapitel: n Gestaltungsbereiche und -werkzeuge n Designs bearbeiten n Formatvorlagen erstellen n Formatvorlagen prüfen n Formatvorlagen ändern n Mit Dokumentvorlagen arbeiten

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

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

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

Mehr

Matthias Furtmüller, Stefan Haselböck. Android

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

Mehr

Software Engineering II

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

Mehr

Von: Sven Weltring, Viola Berlage, Pascal Küterlucks, Maik Merscher

Von: Sven Weltring, Viola Berlage, Pascal Küterlucks, Maik Merscher Von: Sven Weltring, Viola Berlage, Pascal Küterlucks, Maik Merscher Inhaltsverzeichnis 1. Desktop 2. Erklärung von Tastatur und Maus 3. Computer ausschalten 4. Neuer Ordner erstellen 5. Microsoft Word

Mehr

Microsoft PowerPoint 2013 YouTube-Video einfügen

Microsoft PowerPoint 2013 YouTube-Video einfügen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 YouTube-Video einfügen YouTube-Video einfügen in PowerPoint 2013 Seite 1 von 6 Inhaltsverzeichnis Einleitung... 2 Vorbereitungen...

Mehr

17 Datenbank aufteilen

17 Datenbank aufteilen 17 Datenbank aufteilen Warum teilt man eine Datenbank auf und was bedeutet dies? Eine Access-Datenbankdatei ist ein Monolith. Sie enthält alle notwendigen Objekte wie Tabellen, Abfragen, Formulare, Berichte,

Mehr

Ant in Eclipse Starthilfe

Ant in Eclipse Starthilfe IN DIESER KURSEINHEIT Einleitung o Um was geht's eigentlich? Hello World o Das Ant Skript Mehrere Targets und Properties o Hello World Ausgabe Ant Launch Configurations o Definition o Modifikation o Nutzung

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

Der Website-Generator

Der Website-Generator Der Website-Generator Der Website-Generator im Privatbereich gibt Ihnen die Möglichkeit, schnell eine eigene Website in einheitlichem Layout zu erstellen. In Klassen, Gruppen und Institutionen können auch

Mehr

Aufgabenstellung und Zielsetzung

Aufgabenstellung und Zielsetzung Aufgabenstellung und Zielsetzung In diesem Szenario werden Sie eine Bestellung, vorliegend im XML-Format, über einen Web-Client per HTTP zum XI- System senden. Dort wird die XML-Datei mittels eines HTTP-Interfaces

Mehr

Fahrzeuggestaltung auf dem ipad

Fahrzeuggestaltung auf dem ipad Fahrzeuggestaltung auf dem ipad Fahrzeuggestaltung auf dem ipad 1 Was diese Anleitung behandelt 1.1 1.2 Überblick 4 Empfohlene Hilfsmittel 5 2 Benötigte Dateien zum ipad kopieren 2.1 2.2 2.3 Von Mac oder

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

BENUTZERHANDBUCH. Los gehts! Notepadgrundlagen... 2. Notepadeinstellungen... 4. Tastaturbearbeiter... 6. Sich organisieren... 9. Inhalte teilen...

BENUTZERHANDBUCH. Los gehts! Notepadgrundlagen... 2. Notepadeinstellungen... 4. Tastaturbearbeiter... 6. Sich organisieren... 9. Inhalte teilen... BENUTZERHANDBUCH Notepadgrundlagen... 2 Notepadeinstellungen... 4 Tastaturbearbeiter... 6 Sich organisieren... 9 Inhalte teilen... 11 Ein Dokument importieren... 12 Los gehts! 1 Notepadgrundlagen Ein Notepad

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Schulung Open CMS Editor

Schulung Open CMS Editor Schulung Open CMS Editor Um Ihr Projekt im OpenCMS zu bearbeiten brauchen Sie lediglich einen Webbrowser, am besten Firefox. Vorgehensweise beim Einrichten Ihrer Site im OpenCMS Erste Schritte Wenn Sie

Mehr

Erste Schritte mit Elvis 3 ein Beispielprojekt

Erste Schritte mit Elvis 3 ein Beispielprojekt Erste Schritte mit Elvis 3 ein Beispielprojekt Um Sie mit Elvis 3 vertraut zu machen möchten wir mit Ihnen mit diesem Kapitel ein Beispielprojekt vom ersten Aufruf von Elvis 3 bis zum Testlauf aufbauen.

Mehr

Wir nutzen die aus Kapitel 6 erstellte Powerpoint Datei: Einführung einer Dokumentenverwaltung

Wir nutzen die aus Kapitel 6 erstellte Powerpoint Datei: Einführung einer Dokumentenverwaltung Seite 1 von 12 7. andere Objekte Wir nutzen die aus Kapitel 6 erstellte Powerpoint Datei: Einführung einer Dokumentenverwaltung (92KB). Cliparts Nun kann die Formatierung für den Inhalt des Objektes erfolgen.

Mehr

Arbeiten mit Acrobat. Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit

Arbeiten mit Acrobat. Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit Arbeiten mit Acrobat Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit Vollbildmodus Wählen Sie das Menü Fenster Vollbildmodus. Die aktuell angezeigte Seite verdeckt

Mehr

Java-Vorkurs 2015. Wintersemester 15/16

Java-Vorkurs 2015. Wintersemester 15/16 Java-Vorkurs 2015 Wintersemester 15/16 Herzlich Willkommen! package de.unistuttgart.47.01.javavorkurs; public class WelcomeErstis { public static void main(string[] args){ System.out.println( Herzlich

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

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

WICHTIG!: Speichern Sie die Backup Datei außerhalb Safe and itunes. Für weitere Infos schauen Sie bitte unter Safe Backup erstellen.

WICHTIG!: Speichern Sie die Backup Datei außerhalb Safe and itunes. Für weitere Infos schauen Sie bitte unter Safe Backup erstellen. Safe Anleitung Safe erlaubt Ihnen Ihre sensiblen Daten zu organisieren und zu speichern. Sie können beliebige Kategorien zur Organisation Ihrer Daten erstellen. Wir bieten Ihnen vordefinierte Vorlagen

Mehr

Objective-C CheatSheet

Objective-C CheatSheet App-Templates: Erstellt automatisch einen Navigation Controller mit editierbarem UITableView und DetailView, der bei Klick auf einzelne UITableViewCell angezeigt wird. Kreiert einen GLKitViewController

Mehr

Informatik Sommercamp 2012

Informatik Sommercamp 2012 Informatik Sommercamp 2012 App Entwicklung mit dem Android SDK Dominik W., Stefan S., Jan L. Fakultät für Informatik und Mathematik Universität Passau 23.07.2012 Gliederung 1 2 3 4 Warum? an Schule und

Mehr

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Dipl.

Mehr

Konfigurieren einer Caritas- Startseite für Abteilungen

Konfigurieren einer Caritas- Startseite für Abteilungen Konfigurieren einer Caritas- Startseite für Abteilungen Jürgen Eckert Domplatz 3 96049 Bamberg Tel (09 51) 5 02 2 75 Fax (09 51) 5 02 2 71 Mobil (01 79) 3 22 09 33 E-Mail eckert@erzbistum-bamberg.de Im

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

Mai 2011. Deutsche Übersetzung von Marion Göbel verfaßt mit epsilonwriter

Mai 2011. Deutsche Übersetzung von Marion Göbel verfaßt mit epsilonwriter Aplusix 3 - Installationshandbuch Mai 2011 Deutsche Übersetzung von Marion Göbel verfaßt mit epsilonwriter 1. Arten der Installation Eine Server-Installation wird mit einem Kauf-Code durchgeführt. Ein

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

Mobile Systeme Android 07.04.2011

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

Mehr

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

Tutorium Java Ein Überblick. Helge Janicke

Tutorium Java Ein Überblick. Helge Janicke Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Ich möchte eine Bildergalerie ins Internet stellen

Ich möchte eine Bildergalerie ins Internet stellen Ich möchte eine Bildergalerie ins Internet stellen Ich habe viele Fotos von Blumen, von Häusern, von Menschen. Ich möchte zu einem Thema Fotos sammeln, eine Vorschau erstellen und die Fotos so in der Größe

Mehr

HTL-Website. TYPO3- Skriptum II. Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig. Qualitätsmanagement

HTL-Website. TYPO3- Skriptum II. Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig. Qualitätsmanagement HTL-Website TYPO3- Skriptum II Autor: RUK Stand: 02.06.2010 Gedruckt am: - Version: V0.1 Status: fertig Qualitätsmanagement Erstellt Geprüft Freigegeben Name RUK Datum 02.06.2010 Unterschrift Inhaltsverzeichnis

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Dreamweaver 8 Homepage erstellen Teil 1

Dreamweaver 8 Homepage erstellen Teil 1 Dreamweaver 8 Homepage erstellen Teil 1 Voraussetzungen Das vorliegende Skriptum knüpft an das Skriptum Dreamweaver_Einführung an und setzt voraus, dass du dieses bereits durchgearbeitet hast. Planung

Mehr

1 Dein TI nspire CAS kann fast alles

1 Dein TI nspire CAS kann fast alles INHALT 1 Dein kann fast alles... 1 2 Erste Schritte... 1 2.1 Systemeinstellungen vornehmen... 1 2.2 Ein Problem... 1 3 Menü b... 3 4 Symbolisches Rechnen... 3 5 Physik... 4 6 Algebra... 5 7 Anbindung an

Mehr

Brainloop Secure Dataroom Version 8.30. QR Code Scanner-Apps für ios Version 1.1 und für Android

Brainloop Secure Dataroom Version 8.30. QR Code Scanner-Apps für ios Version 1.1 und für Android Brainloop Secure Dataroom Version 8.30 QR Code Scanner-Apps für ios Version 1.1 und für Android Schnellstartanleitung Brainloop Secure Dataroom Version 8.30 Copyright Brainloop AG, 2004-2015. Alle Rechte

Mehr

Einrichtung des NVS Calender-Google-Sync-Servers. Installation des NVS Calender-Google-Sync Servers (Bei Neuinstallation)

Einrichtung des NVS Calender-Google-Sync-Servers. Installation des NVS Calender-Google-Sync Servers (Bei Neuinstallation) Einrichtung des NVS Calender-Google-Sync-Servers Folgende Aktionen werden in dieser Dokumentation beschrieben und sind zur Installation und Konfiguration des NVS Calender-Google-Sync-Servers notwendig.

Mehr

Erstellen einer Navigation in REDAXO Version 4.1.0 Dok. Version 1.0 Stand: 20.08.08

Erstellen einer Navigation in REDAXO Version 4.1.0 Dok. Version 1.0 Stand: 20.08.08 Erstellen einer Navigation in REDAXO Version 4.1.0 Dok. Version 1.0 Stand: 20.08.08 Ralf Völzke IT-Dienstleistungen Telefon: +49 6772-969250 Handy: +49 171-2067755 www.voelzke.de - Ralf Völzke Seite 1

Mehr

SMART PODIUM EINFÜHRUNG FÜR LEHRENDE

SMART PODIUM EINFÜHRUNG FÜR LEHRENDE SMART PODIUM EINFÜHRUNG FÜR LEHRENDE Dezernat 6 Abteilung 4 Stand: 27.06.2014 1. EINLEITUNG Das SMART Podium unterstützt Sie bei der Durchführung Ihrer Lehrveranstaltungen. Mit Hilfe des SMART Podiums

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

Android-Smartphone und die Google-Cloud

Android-Smartphone und die Google-Cloud Cloud? Cloud heißt zu Deutsch Wolke. Vielleicht haben Sie schon einmal in einer Werbung gehört, dass Daten wie Filme oder Musik in einer Cloud liegen. Aber was genau bedeutet das? Es stecken zwei Dinge

Mehr

In diesem kleinen Handbuch Schnellstart zeigen wir Ihnen die ersten Schritte.

In diesem kleinen Handbuch Schnellstart zeigen wir Ihnen die ersten Schritte. STRATO Schnellstart Erste Schritte mit LivePages LivePages ist der praktische Homepage-Baukasten von STRATO. Damit erstellen Sie in wenigen Schritten Ihre eigene Homepage und zwar komplett online und ohne

Mehr

Einführung in die Stapelverarbeitung von FixFoto

Einführung in die Stapelverarbeitung von FixFoto Einführung in die Stapelverarbeitung von FixFoto Stand: Januar 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.30. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Inhalt 1. Was

Mehr

Dokumentation: wi://googlemaps

Dokumentation: wi://googlemaps 1 Dokumentation: wi://googlemaps zur Einbindung von eigenen GoogleMaps Karten im TYPO3 Backend 2 Inhalt Einrichtung des Plugins... 3 Schritt 1: Frontend Plugin anlegen... 3 Schritt 2: Speicherort der Datensätze

Mehr

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

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

Mehr

Der virtuelle HP Prime-Taschenrechner

Der virtuelle HP Prime-Taschenrechner Der virtuelle HP Prime-Taschenrechner HP Teilenummer: NW280-3002 Ausgabe 2, Februar 2014 Rechtliche Hinweise Dieses Handbuch sowie die darin enthaltenen Beispiele werden in der vorliegenden Form zur Verfügung

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

1 Der Einstieg in Java für Android

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

Mehr

Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Responsive Webdesign vertraut. Es wird

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Klausur vom 14. Juni 2004. Informatik 4

Klausur vom 14. Juni 2004. Informatik 4 Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Kommunikationstechnik Labor für Technische Informatik, Burgdorf Klasse: EV02-1 Name, Vorname: Klausur vom 14. Juni

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Dokumentation - Schnelleinstieg FileZilla-FTP

Dokumentation - Schnelleinstieg FileZilla-FTP Dokumentation - Schnelleinstieg FileZilla-FTP Diese Anleitung zeigt Ihnen in aller Kürze die Bedienung des FileZilla-FTP-Clients. Standardmäßig braucht FileZilla nicht konfiguriert zu werden, daher können

Mehr

Mitarbeitereinsatzplanung. easysolution GmbH 1

Mitarbeitereinsatzplanung. easysolution GmbH 1 Mitarbeitereinsatzplanung easysolution GmbH 1 Mitarbeitereinsatzplanung Vorwort Eines der wichtigsten, aber auch teuersten Ressourcen eines Unternehmens sind die Mitarbeiter. Daher sollten die Mitarbeiterarbeitszeiten

Mehr

Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst.

Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst. Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst. Bevor es losgeht Wenn du mal etwas falsch machst ist das in Word eigentlich kein Problem! Den Rückgängig-Pfeil (siehe

Mehr

DGNB System Software: Unterschiede zwischen Version 1 und Version 2

DGNB System Software: Unterschiede zwischen Version 1 und Version 2 DGNB System Software: Unterschiede zwischen Version 1 und Version 2 1 DGNB GmbH 2015 Inhaltsverzeichnis (1) 1. Aufteilung in Web-Oberfläche und Client 2. Anmeldung in der Web-Oberfläche 3. Installieren

Mehr

CRM. Frequently Asked Questions

CRM. Frequently Asked Questions CRM Frequently Asked Questions Kann ich Personenkontakte so importieren, dass sie als Mitarbeiter automatisch den zugehörigen Gesellschaftskontakten zugeordnet werden?...3 Wieso werden beim Import einer

Mehr

Erstellen von Bildschirmpräsentationen mit Powerpoint 2003

Erstellen von Bildschirmpräsentationen mit Powerpoint 2003 Erstellen von Bildschirmpräsentationen mit Powerpoint 2003 Vorgang 1. PowerPoint öffnen 2. Titel eingeben 3. Neue Folie erstellen 4. Folie gestalten 4.1 Objekte einfügen Befehle Doppelklick auf Programmsymbol

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

TYPO3 Redaktoren-Handbuch

TYPO3 Redaktoren-Handbuch TYPO3 Redaktoren-Handbuch Kontakt & Support: rdv interactive ag Arbonerstrasse 6 9300 Wittenbach Tel. 071 / 577 55 55 www.rdvi.ch Seite 1 von 38 Login http://213.196.148.40/typo3 Username: siehe Liste

Mehr

Tipps & Tricks ArCon. Schriftfeldmakro. Informationszeitschrift der DI KRAUS & CO GesmbH Seite 18

Tipps & Tricks ArCon. Schriftfeldmakro. Informationszeitschrift der DI KRAUS & CO GesmbH Seite 18 Im Konstruktionsmodus ist in der rechten unteren Ecke des Blattes ein Schriftfeld zu sehen. Dieses können Sie verändern, indem Sie doppelt darauf klicken. Nun haben Sie, je nach Schriftfeld, verschiedene

Mehr

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben

Mehr

ANWEISUNGEN FÜR DRM-AKTIVIERUNGSCODE WIP NAV PLUS / CONNECT NAV PLUS (RT6)

ANWEISUNGEN FÜR DRM-AKTIVIERUNGSCODE WIP NAV PLUS / CONNECT NAV PLUS (RT6) (RT6) 1 0. Voraussetzungen 1. Ihr Fahrzeug ist werksseitig mit dem Navigationssystem WIP nav plus / Connect nav plus ausgestattet. Für Karten-Updates muss mindestens Software-Version* 2.20 installiert

Mehr

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

Mehr

Android-Apps ein komplexes Beispiel (Google-Maps und GPS-Daten, Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und Web-Browser/Internet)

Android-Apps ein komplexes Beispiel (Google-Maps und GPS-Daten, Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und Web-Browser/Internet) Android-Apps ein komplexes Beispiel (Google-Maps und GPS-Daten, Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und Web-Browser/Internet) 2/42 Android Apps: ein komplexes Beispiel Gliederung Vorstellung

Mehr

Tutorial. Programmierung einer Android-Applikation. Teil 1

Tutorial. Programmierung einer Android-Applikation. Teil 1 Tutorial Programmierung einer Android-Applikation Teil 1 Autor: Oliver Matle Datum: März 2014, Version 1.0 Autor: Oliver Matle, www.matletarium.de Seite 1 von 28 Inhaltsverzeichnis Kapitel 1 Einleitung...3

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

GeODin Newsletter: Januar 2012

GeODin Newsletter: Januar 2012 Beyond Geology 25: Ein neues Eingabegitter macht die Datenerfassung- und pflege mit den Proben-, Ausbau- und Sondierungseditoren viel übersichtlicher. Außerdem ein wichtiger Update-Hinweis! Eingabegitter

Mehr

2. Den Aufbau des Bildschirms in Office 2013 im Griff haben

2. Den Aufbau des Bildschirms in Office 2013 im Griff haben Aufruf der Office-Programme klassisch oder per Touchscreen 2 2. Den Aufbau des Bildschirms in Office 2013 im Griff haben Mit Office 2007 verabschiedete Microsoft sich von der gewohnten Menüleiste mit den

Mehr

Programmierung einer Windows Store App mit C# und XAML

Programmierung einer Windows Store App mit C# und XAML Neuer Abschnitt 1 Seite 1 Programmierung einer Windows Store App mit C# und XAML Einleitung In diesem Fachbericht der im Rahmen meines 8 Wochen langem Praktikums entstand geht es um die Programmierung

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