Dr. Holger Eichelberger



Ähnliche Dokumente
Software Systems Engineering. Dr. Holger Eichelberger

Der schnelle Weg zu Ihrer eigenen App

QUECHUA PHONE 5 DAS ERSTE MOUNTAINPROOF SMARTPHONE. Gebrauchsanleitung Android. Schlagfest Dichtigkeit Autonomie Apps die für das Wandern

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

Was ich als Bürgermeister für Lübbecke tun möchte

FEHLER! TEXTMARKE NICHT DEFINIERT.

Windows 10 > Fragen über Fragen

Die Wasser App.

GeoPilot (Android) die App

PC/Mac oder Smartphone/Tablet. Compi-Treff vom 9. Januar 2015 Thomas Sigg

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

icloud nicht neu, aber doch irgendwie anders

PAUL App. Anleitung für Studierende und Lehrende

Stadt radio Orange Dein Fenster auf Orange 94.0

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

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Präsentation Von Laura Baake und Janina Schwemer

Android-Apps Google-Maps v2

Windows wird nicht mehr unterstützt Was bedeutet das? Was muss unternommen werden? Compi-Treff vom 9. Mai 2014 Thomas Sigg

Gruppenrichtlinien und Softwareverteilung

iphone- und ipad-praxis: Kalender optimal synchronisieren

Rooten eines Android-Telefones. Hanno 'Rince' Wagner, Chaos Computer Club Stuttgart

Bluefire Reader für ipad & iphone

FritzCall.CoCPit Schnelleinrichtung

E-Banking so richten Sie Ihren Zugriff ein

2. Installation der minitek-app auf einem Smartphone. 3. Verbindung zwischen minitek-app und minitek herstellen

Dieses Dokument beschreibt die Verbindungsherstellung mit dem WLAN-Netzwerk der PHLU auf Smartphones. hotline.hslu.ch Andere

X-Lite. Kurzanleitung zur Konfiguration von X-Lite ( Mehr Informationen unter Stand

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

Wie installiere und richte ich die Sync-Plus Software auf einem PC mit Windows 7 und Outlook ein?

SP-1101W Schnellanleitung

Leichte-Sprache-Bilder

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Kurzanleitung für das Bezahlen mit dem Kartenlesegerät von VASCO girocard im Internet

Verwendung des IDS Backup Systems unter Windows 2000

Was meinen die Leute eigentlich mit: Grexit?

SBB Schulung für digitale Fahrplanabfrage und Ticketkäufe.

SP-2101W Quick Installation Guide

Datenabgleich. Meine Welt auf einen Blick erleben.

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint

! " # $ " % & Nicki Wruck worldwidewruck

SP-1101W/SP-2101W Quick Installation Guide

Meine Welt auf einen Blick erleben.

Smart Home. Quickstart User Guide

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

ROFIN App Benutzerhandbuch. Version 1.0

Kurzanleitung Messer machen

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

COMPUTERIA VOM Wenn man seine Termine am Computer verwaltet hat dies gegenüber einer Agenda oder einem Wandkalender mehrere Vorteile.

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten:

Bekommen durch Ansteckung. H Human Beim Menschen. Acquired I D. Schwäche des Immunsystems. Schwäche des Immunsystems.

Informationen zum neuen Studmail häufige Fragen

Installation und Inbetriebnahme von Microsoft Visual C Express

ALEMÃO. Text 1. Lernen, lernen, lernen

TeamSpeak3 Einrichten

oder ein Account einer teilnehmenden Einrichtung also

Wir freuen uns, dass Sie sich für ein E-Book unseres Verlagshauses entschieden haben.

1.3. Installation und Konfiguration von Filr Desktop

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Ergebnisse. Kurz-Statistiken Umfrage 'App Nutzungsanalyse' Umfrage 96694

Installations- und Bedienungsanleitung CrontoSign Swiss

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Argo 2.0 Software Upgrade

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

BRAND APPS WHITEPAPER MOBILE MARKEN- UND KUNDENBINDUNG

1 Vom Problem zum Programm

O RGAKO M : Was ist Twitter?

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

DATENSICHERUNG MOBILE ENDGERÄTE

Einführung in TexMaker

Revox Joy S232 App D 1.0

Einrichtung des WLANs so funktioniert s // DHBW Mosbach / Campus Bad Mergentheim / IT Service Center

4.1 Download der App über den Play Store

Wie halte ich Ordnung auf meiner Festplatte?

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

BILDER TEILEN MIT DROPBOX

Erstellen der Barcode-Etiketten:

Expertenumfrage: Mobile Applications

Download unter:

Swisscom TV Medien Assistent

mobile Dokumente, Informationen, ECM... Immer präsent auch unterwegs.

DOKUMENTATION VOGELZUCHT 2015 PLUS

Kaufkräftige Zielgruppen gewinnen

Tess Relay-Dienste mobil nutzen

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt.

Der Weg zur eigenen App

Anleitung zum Öffnen meiner Fotoalben bei web.de

Enrollment Anleitung für Google Android Mobilgeräte. AirWatch - Enterprise Mobility Management (EMM) V 1.3. September 2015

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

SMART MOBILITY SELECT

Reporting Services und SharePoint 2010 Teil 1

Wir freuen uns, dass Sie sich für ein E-Book unseres Verlagshauses entschieden haben.

Fragebogen zur Evaluation der Vorlesung und Übungen Computer Grafik, CS231, SS05

METTLER TOLEDO USB-Option Installation der Treiber unter Windows XP

Anleitung zur Installation des EPSON TM-m30 WLAN Moduls

INFOBLATT FÜR DAS NEU AUFSETZEN IHRES COMPUTERS

Transkript:

SchülerInnen-Uni 2015 Dr. Holger Eichelberger eichelberger@sse.uni-hildesheim.de

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 23 6. Ist Informatik etwas für mich? 27 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 1

Wer ist das? Wer ist das? Geboren in Franken WDR Computerecke Erster Computer Schule: Wahlkurs Informatik Studium in Würzburg Abschluss und Doktorarbeit in Würzburg Jetzt: SSE Uni Hildesheim 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 12

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 23 6. Ist Informatik etwas für mich? 27 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 3

Software Was ist ein Smartphone? 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 4

Was ist ein Smartphone? Sind alle Smartphones gleich? Gerät: Display, Sensoren, Akku Betriebssystem Apple ios: iphone Google Android: HTC, Samsung, Sony, LG, Motorola, Windows Phone: HTC, LG, Samsung, Nokia, Apps (~2013) Apple App Store > 580.000 Google Play > 360.000 Microsoft Marketplace ~20.000 jeder kann Apps entwickeln. 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 15

Was ist ein Smartphone? Ist das was für mich? Ich habe kein Smartphone Ich kann aber nicht Programmieren Geht dabei mein Smartphone kaputt? Java! Ziel: Kleines Spiel Zutaten: Man nehme ein wenig Idee Mathematik Programmierverständnis Folien und Beispiele auf der Webseite der SchülerInnen-Uni 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 16

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 23 6. Ist Informatik etwas für mich? 27 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 7

Wie entwickelt man für Smartphones? Wie funktioniert App-Entwicklung? Anforderungen Entwurf Smart? Die Entwicklungsumgebung ist kostenlos Download Programm (Quelltext) Android: Java iphone: ObjectiveC Ausführbares Programm Android: IntelliJ / Eclipse iphone: xcode (nur Mac) Test 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 18

Wie entwickelt man für Smartphones? Was sind unsere Anforderungen? Das Spiel muss aus einem einfachen Spielfeld bestehen. Das Spiel muss eine Schlange darstellen. Die Schlange muss sich bewegen. Die Schlange soll durch Neigung des Smartphones gesteuert werden. Das Spiel kann Spielregeln haben Nicht heute! Punkte (positiv, negativ) Spielende (Game over) Das Spiel kann weitere Funktionalität bereitstellen. Highscore-Tabelle Hauptmenü, Hilfe, Einstellungen Ein Spiel? Mehrere Spiele? 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 9

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 23 6. Ist Informatik etwas für mich? 27 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 10

Wie bauen wir die App? Wie zeichnen wir eine Schlange mit dem Smartphone? (1) Mathematik: Koordinatensystem 0,0 34 72 104 20 320 x Was können wir damit machen? Linien, Rechtecke, Text, Bilder 2D und 3D Grafik und Schatten (nicht jetzt) Was passiert wenn das Display eine andere Größe hat? Zwischenschicht, die sich darum kümmert Ggf. geeignete(re) Bilder bereitstellen 480 y 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 11

Wie bauen wir die App? Die Zwischenschicht Wir arbeiten nicht direkt mit Android Wir verwenden eine Zwischenschicht, die uns Arbeit abnimmt Das Spiel Die Zwischenschicht (framework.jar) Das Android Betriebssystem 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 13

Wie bauen wir die App? Wie zeichnen wir eine Hintergrund und Schlange? Relevanter Ausschnitt: public void present(float deltatime) { Graphics g = game.getgraphics(); g.drawpixmap(assets.background, 0, 0); } g.drawpixmap(assets.headup, 20, 34); g.drawpixmap(assets.tail, 20, 72); g.drawpixmap(assets.tail, 20, 104); 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 14

Wie bauen wir die App? Wie bewegen wir die Schlange? links! links! runter! rechts! hoch! rechts! Erkenntnisse: Rasterpositionen vereinfachen die Bewegung Wir benötigen vier Richtungen Die Richtung bestimmt die nächste Position des Kopfes Plan: Alle restlichen Teile werden jeweils auf die Position des Vorgängers gesetzt Dann wird die Position des Kopfes gesetzt 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 15

Wie bauen wir die App? Was passiert an den Kanten des Spielfelds? hoch! hoch! Wenn Kopf-Position kleiner 0, dann mache an größter Raster-Position weiter. rechts! rechts! Wenn die Kopf-Position größer als Raster, dann mache an Raster- Position 0 weiter 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 16

Wie bauen wir die App? Wie verwalten wir die Schlange? Wir beschreiben eine Schlange durch Bewegungsrichtung des Kopfes Ihre Teile als Liste, wobei jedes Teil x-position (Ganzzahl, in Rastereinheiten) y-position (Ganzzahl, in Rastereinheiten) Teile In Java (vereinfacht) class SnakePart { class Snake { int x, y; Direction direction; } List<SnakePart> parts; } 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 17

Wie bauen wir die App? Wie sieht der Bewegungs-Algorithmus aus (update-methode)? SnakePart head = parts.get(0); // Setze alle Teile auf die Position des Vorgängerteils for (int i = parts.size(); i > 0; i--) { before = parts.get(i-1); part = parts.get(i); part.x = before.x; part.y = before.y; } // Setze neue Kopfposition aufgrund der Liste if (direction == Direction.UP) { head.y -= 1; } // analog DOWN, LEFT, RIGHT // Korrigiere Randpositionen falls notwendig if (head.x < 0) { head.x = WORLD_WIDTH; } // analog x>word_width, y<0, y>world_height 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 18

Wie bauen wir die App? Wie wird die Schlange gezeichnet (present-methode)? Zeichnen der Schlange Für alle Teile in der Liste: zeichne an (x * Rasterbreite, y * Rasterhöhe) In Java SnakePart head = parts.get(0); drawpixmap(head.getpixmap(), head.x * WORLD_CELL_WIDTH, head.y * WORLD_CELL_HEIGHT); for (int i = parts.size(); i > 0; i--) { drawpixmap (Assets.tail, parts.get(i).x * WORLD_CELL_WIDTH, parts.get(i).y * WORLD_CELL_HEIGHT); } 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 19

Wie bauen wir die App? Smart? Wie können wir mit dem Smartphone die Schlange steuern? (1) Beschleunigungssensor Drei Achsen Werte als Anteile der Erdbeschleunigung g Für die Schlange bedeutet x < -1 rechts x > 1 links y < -1 hoch y > 1 runter. Sonst steht die Schlange 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 20

Wie bauen wir die App? Wie können wir mit dem Smartphone die Schlange steuern? (2) float accelx = game.getinput().getaccelx(); float accely = game.getinput().getaccely(); dir = Direction.UNDEFINED; if (accelx < -1) { dir = Direction.RIGHT; } else if (accelx > 1) { dir = Direction.LEFT; } else { //accelx == 0 if (accely < -1) { dir = Direction.UP; } else if (accely > 1) { dir = Direction.DOWN; } } 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 21

Apps selbst entwickeln? Wie kann ich nun zuhause selbst entwickeln? Java installieren (oracle.com) Android SDK installieren (developer.android.com) Mindestens: 2.3.3 (API 10), 2.2 (API 8), 1.5 (API 3) Android Virtual Device (AVD) konfigurieren (für Android 2.3) Android Studio installieren (developer.android.com) Ggf. Treiber für Smartphone / Tablet installieren Beispiele importieren 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 22

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 23 6. Ist Informatik etwas für mich? 27 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 23

Smart? Was war denn eigentlich smart? (1) Wir haben nicht drauflos gehackt! Wir haben Android nicht direkt verwendet sondern über eine Bibliothek. Skaliert die Ausgaben Gleicht Unterschiede der Betriebssysteme aus War das smart? Geht es smarter? Ist wiederverwendbar In Industrie: Konzentrieren auf das Wichtige Beispiel: Physik-Engines wie phys2d, emini, metali Wir haben Android-Sensoren verwendet 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 24

Smart? Was war denn eigentlich smart? (2) Und wenn wir ähnliche Spiele entwickeln wollen? Kopieren und ändern? Keine gute Idee! Und was tut man dann? Idee: Ähnlichkeiten analysieren Ähnlichkeiten konfigurierbar machen Spiel generisch mit Alternativen entwickeln Nicht benötigte Alternativen anhand Konfiguration vor Auslieferung entfernen 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 25

Smart? Was war denn eigentlich smart? (2) Energie Smartphones sind anders Wunsch: Automatische Optimierung des Energieverbrauchs Wunsch: Entwicklung für mehrere Plattformen Android, Windows, iphone 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 27

Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App? 10 5. War das smart? Geht es smarter? 23 6. Ist Informatik etwas für mich? 27 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 28

Ist Informatik etwas für mich? Was macht ein Informatiker? Programmieren? Berater (Consultants) Software Entwicklung Lehre / Forschung Gibt es Stellen? Männerberuf? 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 29

Ist Informatik etwas für mich? Ist das was für mich? Spaß am Problemlösen Interesse an Mathematik Keine Abneigung gegen Englisch Informatik ist nicht nur Programmieren! 03.07.2015, SchülerInnenUni Dr. Holger Eichelberger, AG SSE 30