Ett enkelt Androidspel, tutorial

Relevanta dokument
Ett enkelt Androidspel, tutorial

Gissa ordet, tutorial

Laboration 10 - Eclipse

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

NetBeans 5.5. Avsikt. Projektfönster

NetBeans 7. Avsikt. Projektfönster

INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ

1 Photo Story Steg 1 - Hämta och fixa dina bilder

Code-Lite tutorial ( /RoJ)

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Laboration 1 Introduktion till Visual Basic 6.0

Installationsguide för mysql och OLA Server/OLA Klient

TUTORIAL 3: ATT STARTA ETT NYTT PROJEKT, IMPORTERA ELLER DIGITALISERA MATERIAL, SAMT SORTERA DET.

Överflyttning av värld

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

MANUAL CHRONO COMAI Comai AB erbjuder kvalificerade anpassningsbara och Comai AB

Skapa mapp. * Gör så här: Det finns många sätt att skapa mappar, men det enklaste sättet brukar vara följande.

Installationsanvisning för Su Officemallar 2007 För PC

Objektorienterad programmering i Java I

VISNETO XL Funktioner och installation

Steg 1 Minnen, mappar, filer Windows 8

Malmö högskola 2007/2008 Teknik och samhälle

Switch Driver 4. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software

Öppna EndNote varje gång när du vill samla referenser till ditt bibliotek.

Android översikt. TDDD80 Mobila och sociala applikationer

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

Eclipse en handledning

Information efter genomgång av Microsoft Word 2010

Verktyg och Utvecklingsmiljö. Jochim von Hacht

Eclipse. Kort genomgång

Snabbguide till GC Dessa delar ska finnas med i kartongen när du får din Craft Robo skärplotter. Kontrollera att så är fallet.

Innehåll instruktion Sharefile för Trafikverkets applikationer

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Hämta via databaser Pröva några olika databaser. Se Hämta referenser från databaser.

Tidtagning med Eresults Lite programmet

Föreläsning 3. Programmering, C och programmeringsmiljö

Installationsanvisning för Su Officemallar 2013 För PC

Extramaterial till Matematik Y

Word Grunderna 1. Om du kan det allra enklaste i Word, hoppa över uppgifterna A-E.

Översättningsminnen laboration

Manual Produktion av presentationssynkar med PowerPoint och Producer

BaraTrav Prenumeration och Installation Version 1.3.4

PM Dokumentation

FIRSTCLASS. Innehåll:

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

Steg 1 Minnen, mappar, filer Windows 7

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Så här skriver du ditt första program i C++

Workshop PIM 2 - PowerPoint

Introduktion till Adobe Acrobat Connect Pro

Steg 1 Minnen, mappar, filer Windows 10

Guide till att använda Audacity för uttalsövningar

Datakurs, grund. Thor Stone Education. Datakurs, grund. (Windows 7) Copyright Torsten Nilsson

Installation av GeoSuite Presentation Fält

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Photo Story. Sara Eriksson IKT A, HT 2007

Programsnickaren. Grunderna för hur du kommer igång och arbetar med Programsnickaren till Micro Rolltalk. Habilitering & Hjälpmedel

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Övning: Skapa en ny regel

Kom igång med Livescribe Desktop

Extramaterial till Matematik Y

Visa stora ikoner utan text i Command Manager = Större arbetsyta

Programmering. Scratch - grundövningar

Skapa mappar, spara och hämta dokument

Skärmtangentbordet som är enkelt att använda både med mus, touchskärmar och interaktiva whiteboards

2 Eclipse en handledning

Övning 1: Skapa virtuell maskin för utveckling.

Komponenter med COM (och COM+/VC++ 7.0)

Kompilering av Java-program med eclipse SDK för den som kan BlueJ

Mer information om RefWorks, andra referenshanteringsprogram och hur man refererar hittar du på Linköpings universitetsbiblioteks webbsidor.

ARX på Windows Vista, Windows 7 eller Windows 2008 server

Studentguide Adobe Connect Pro

Laboration 10 - NetBeans

Rullningslisten. Klicka på rullningslistpilar (pil upp eller pil ner) 1 för att förflytta dig i önskad riktning, en liten bit i taget.

Om Mappar Uppgift 1: Skapa en mapp på Skrivbordet... 2 Om enheter... 3 Uppgift 2: Byt namn på din nya Höst -mapp till Vår...

Guide till RefWorks Skapa ett RefWorks-konto Under Citera och referera > RefWorks Hjälp funktioner i RefWorks Help Tutorial Help

Hämta via databaser Se Hämta referenser från databaser.

ANVÄNDAR MANUAL. SESAM 800 RX MC Manager

Eclipse en handledning

ÖVERSÄTTNINGAR I detta kursmaterial har vi valt att översätta en del engelska beteckningar till svenska. Ex: Feature Egenskap

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Administrationsmanual ImageBank 2

Så här installerar du Friluftskartan pro på din dator

När du startat programmet dyker Select Project fönstret upp:

Dreamweaver för nybörjare

Administratörsrättigheter i Windows krävs för att genomföra installationen.

ICAP Karl Johansgatan 42 Individual Computer Applications AB Göteborg Sida 1

Bruksanvisning Bläckfisken USB

USB styrt DMX gränssnitt

Jag försöker hämta in video via Ulead programmet men får bara in bilden och inget ljud.

Till flera av ovanstående finns det dessutom varianter, vilka kommer att presenteras i de olika avsnitten.

Se till att posten är i Ändringsläge. Gå till rullgardinsmenyn under Föremål och välj Lägg in bild.

Miljön i Windows Vista

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Bruksanvisning. BLISSKARTA för Rolltalk Designer Artikelnr:

6. Nu skall vi ställa in vad som skall hända när man klickar på knappen samt att markören skall ändra sig till en hand när markören är på knappen.

Transkript:

Ett enkelt Androidspel, tutorial Detta är en introduktion till hur du kommer igång med Android-programmering för smartphones. I huvuduppgiften gör du ett enkelt spel, Vilket ord tänker jag på?, och laddar ned det till en telefon. Vill du gå vidare på egen hand hittar du mer information på https://www.kth.se/social/program/tidaa/page/prova-pa-android/ Första applikationen, Hello World Öppna utvecklingsmiljön Eclipse. Välj från menyn: File > New Project > New Android Project och klicka sedan på Next. Fyll i följande i den nya vyn: Project Name, projektnamnet, t.ex. HelloWorld (inga mellanslag) Package name, t.ex. se.kth.ditt_namn.hello Låt övriga inställningar (som minimum och target SDK m.m.) vara oförändrade i denna och kommande vyer. Klicka på Finish. Du ser nu ditt nya projekt till vänster i Eclipse. Öppna projektet (klicka på den lilla pilen) och därefter src o.s.v. tills du ser din Activity-klass (här: MainActivity). Öppna filen. Det enda denna kod gör är att skapa en vy (vars layout definieras i filen res/layout/activity_main). Testkör applikationen genom att högerklicka på projektets ikon (i vänstra vyn) och välja Run As > Android Application. En emulator startar (det tar ett tag) och visar en rubrikrad med applikationens namn samt en hälsningsfras, som är hämtad från filen res/values/strings.xml. Öppna denna fil i editorn, markera hello och ändra värdet (value) på hälsningsfrasen till något annat. Testkör applikationen igen. Testa applikationen på en verklig enhet Du kan testa din applikation på en verklig Android-enhet genom att koppla in denna med en USBkabel till den maskin du utvecklar på och sedan exekvera på vanligt sätt via Run. Enheten måste tillåta s.k. USB-debugging vilket du hittar gör via Settings > Developer options på enheten. Vissa enheter kräver att en separat drivrutin laddas ned först, se http://developer.android.com/tools/device.html.

För att föra över en färdig applikation till Android-enheter måste du först skapa en applikationsfil (apk-fil) och därefter göra själva överföringen. Du kan läsa om hur du gör detta sist i detta dokument. Gissa ordet Importera ett (halv-) färdigt projekt att utgå ifrån Du ska nu skriva (delar av) spelet Gissa ordet. Du kommer att utgå från ett projekt där vissa delar redan är klara. På sidan https://www.kth.se/social/page/komma-igang-med-android/ (sök på komma igång med android ) finns ett antal projekt, i form av zip-filer, att bygga vidare på. Ladda ned projektet GuessMyWord, t.ex. till skrivbordet. Importera projektet GuessMyWord till Eclipse på följande sätt: Välj från menyn File > Import. Markera, under General, alternativet Existing Projects into Workspace och klicka på Next. Markera alternativet Select Archive File, klicka sedan på Browse och förflytta dig till mappen som innehåller zip-filen med projektet och markera denna. Avsluta med Finish. För att se innehållet i projektet, klicka på pil/triangel-symbolen vid projekthuvudet. Projektet innehåller en fil med logiken för spelet, GuessMyWordModel, och en fil, GuessActivity, som bland annat ska knyta ihop användargränssnittet med logiken i spelet. Layout Det första du ska göra är att skapa ett användargränssnitt, d.v.s. de komponenter där användaren kan mata in text och programmet skriva ut statusen i spelet. Öppna mappen res/layout och dubbelklicka på filen main.xml. I denna fil beskrivs hur layouten för användargränssnittet ska se ut. Markera fliken Graphical Layout för att se hur det ser ut. För tillfället ser du endast en textvy, med en text som förklarar hur spelet ska spelas. Du ska nu lägga till en vy där användaren kan mata in bokstäver, en tidtagare samt knappar för att registrera en gissning och starta en ny omgång. Tanken är att det ska se ut som nedan när programmet körs.

Lägg till en knapp Klicka och dra en knapp, Button, från paletten in i layouten. Släpp knappen under textvyn. Ändra texten på knappen genom att högerklicka på den och välja Show in properites. I fönstret under layouten scrollar du till Text och skriver in texten som du vill ska synas på knappen, t.ex. Submit guess, se nedan. Lägg till fler komponenter Dra på samma sätt in ett inmatningsfält, EditText, ovanför knappen. Du hittar inmatningsfältet under Text Fields, välj den översta komponenten, Plain Text. Lägg också till en tidtagare, Chronometer, ovanför inmatningsfältet. Du hittar tidtagaren under Time and Date.

Lägg till sist till ytterligare en knapp, för att starta om spelet, längst ned. Det bör se ut ungefär som på föregående sida. Testkör Vi kan nu testköra applikationen för att bättre se hur layouten ser ut. Högerklicka på projektets ikon (i vänstra vyn) och välja Run As > Android Application (det kommer att ta ett tag innan emulatorn startar). Inget händer om du trycker på någon av knapparna, det får vi lägga till. Logiken i programmet Steg 1, Läsa av en inmatad bokstav Öppna filen GuessActivity.java. I denna fil knyts användargränssnittet och logiken samman. Börja med att avkommentera, d.v.s. ta bort //, på raderna 30-38 1. Kontrollera att inga röda markeringar syns i koden (i annat fall be en assistent om hjälp). Dessa rader gör att vi i programmet kan referera till de komponenter du just lagt till i layouten. På rad 44, under onclick ska vi skriva kod för vad som ska hända om användaren klickar på knappen. Vi börjar med att lägga till kod som läser av vad användaren matat in och skriver ut detta i textvyn överst på displayen. Byt ut kommentaren på rad 44 mot följande text (före raden med ). String inputstring = textinput.gettext().tostring(); char guess = inputstring.charat(0); textoutput.settext("the character = " + guess); Provkör igen, Run As > Android Application, och se vad som händer när användaren matar in en bokstav. 1 Om radnummeren inte visas, placera markören i vänstra kanten av texteditorn, högerklicka och välj Show Line Numbers.

Prova vad som händer om användaren trycker på knappen utan att ha matat in en bokstav. Vi måste tydligen kontrollera om användaren matat in något innan vi läser av texten. Ändra koden till (fortfarande fr.o.m. rad 44) String inputstring = textinput.gettext().tostring(); if(inputstring.length() > 0) { char guess = inputstring.charat(0); textoutput.settext("the character = " + guess); else { showtoast("please enter a letter!"); Testkör igen. Steg 2, Spelet Vi ska nu använda oss av spellogiken, så att användaren kan se vad hon gissat rätt hittills samt antalet gissningar. Så här ska det se ut från rad 44: String inputstring = textinput.gettext().tostring(); if(inputstring.length() > 0) { char guess = inputstring.charat(0); guessmodel.handleguess(guess); else { int n = guessmodel.getnoofguesses(); String sofar = guessmodel.getguesssofar(); textoutput.settext(sofar + ", Guesses = " + n); textinput.selectall(); showtoast("please enter a letter!"); guessmodel.handleguess(guess) lägger till en gissning till modellen guessmodel.getnoofguesses() anger antalet gissningar hittills guessmodel.getguesssofar() ger en text där de korrekt gissade tecken syns men övriga är markerade med stjärnor Testkör programmet igen.

Steg 3, Gratulerar Det som saknas är att programmet talar om när man gissat hela ordet. Vi kan testa om spelet är klart med guessmodel.issolved(), som svar med sant eller falskt. Lägg till följande på raden efter textoutput.settext(...) if(guessmodel.issolved()) { showtoast("gongratulations"); Testkör igen. Om du inte sett det redan, så kan du hitta de ord som slumpas ut någonstans i en av java-filerna (fusk?). Steg 4, Tidtagning och nytt spel Vi vill att ett nytt spel och tidtagning ska startas om användaren trycker på knappen New game. Gå till raden som börjar private class NewGameClickListener. Två rader nedanför denna rad hittar du ett nytt onclick. Det är här vi ska definiera vad som händer när användaren trycker på denna knapp. Lägg till följande på raden efter onclick. guessmodel.reset(); String sofar = guessmodel.getguesssofar(); textoutput.settext("the word: " + sofar); stopwatch.setbase(systemclock.elapsedrealtime()); stopwatch.start(); Denna kod startar om spelet (slumpar ett nytt hemligt ord), skriver ut stjärnor för varje bokstav samt nollställer klockan och startar den. Vi bör också lägga till att klockan stoppas när ett spel är klart. Den tidigare if-satsen som kontrollerar om gissningen är korrekt (kring rad 44) utökas till if(guessmodel.issolved()) { showtoast("gongratulations!!!"); stopwatch.stop(); Testkör programmet igen. För över programmet till en telefon Och nu till det bästa spela på en telefon. Se instruktionerna i början av detta dokument. Prova ditt program på riktigt.

Steg 4, Customize? Kanske du har en egen idé om hur programmet kan förbättras. Fråga en assistent som kanske kan hjälpa dig med det. Det färdiga programmet finns i filen GuessMyWordFinal.zip. Där har jag också lagt till att textinput rensas efter varje gissning (så att inte användaren behöver göra det själv inför varje ny gissning).

Appendix Föra över en färdig applikation till Android-enhet(er) För att föra över ett program till en Android-enhet måste du först skapa en applikationsfil (apk-fil) och därefter göra själva överföringen. Skapa en applikationsfil Högerklicka på projektet och välj : Android Tools > Export signed application package I dialogen väljer du projekt och sedan att skapa en ny keystore. Fyll sedan i detaljer om nyckeln och skapa nyckel. Ange sist vad applikationsfilen ska heta och skapa den. Föra över applikationen till telefonen Paketet ska nu föras över till telefonen. Koppla in telefonen med USB-kabeln och montera den (hur anges på telefonen). På datorn, under My Computer, kommer du nu att hitta din telefon som en separat enhet. Kopiera över apk-filen du skapade ovan till denna enhet. Avmontera telefonen (hur anges på telefonen) och koppla ur USB-kabeln. Starta, från telefonen, applikationen Astro File Manager. Leta rätt på apk-filen, klicka på den och välj att öppna Application Manager. Välj sedan att installera och testa applikationen. [ Om du har en egen telefon kan du ladda ned Astro File Manager från http://www.androidfreeware.net/download-astro-file-manager.html ]