Ett enkelt Androidspel, tutorial

Relevanta dokument
Ett enkelt Androidspel, tutorial

Gissa ordet, tutorial

Laboration 10 - Eclipse

NetBeans 5.5. Avsikt. Projektfönster

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

NetBeans 7. Avsikt. Projektfönster

INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ

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

Laboration 1 Introduktion till Visual Basic 6.0

Code-Lite tutorial ( /RoJ)

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

Installationsguide för mysql och OLA Server/OLA Klient

MANUAL CHRONO COMAI Comai AB erbjuder kvalificerade anpassningsbara och Comai AB

Installationsanvisning för Su Officemallar 2007 För PC

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

Android översikt. TDDD80 Mobila och sociala applikationer

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

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

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

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

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

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 2013 För PC

Information efter genomgång av Microsoft Word 2010

Verktyg och Utvecklingsmiljö. Jochim von Hacht

VISNETO XL Funktioner och installation

Steg 1 Minnen, mappar, filer Windows 8

Extramaterial till Matematik Y

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

Kom igång med Livescribe Desktop

Programmering. Scratch - grundövningar

FIRSTCLASS. Innehåll:

PM Dokumentation

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

Överflyttning av värld

Extramaterial till Matematik Y

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

Innehåll instruktion Sharefile för Trafikverkets applikationer

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

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

Lathund för BankID säkerhetsprogram

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

Tidtagning med Eresults Lite programmet

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Översättningsminnen laboration

Steg 1 Minnen, mappar, filer Windows 7

Övning: Skapa en ny regel

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Manual Produktion av presentationssynkar med PowerPoint och Producer

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

Steg 1 Minnen, mappar, filer Windows 10

Workshop PIM 2 - PowerPoint

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

För att kunna använda SmartPigs i WinPig.Net måste du köra WinPig.net med administratörsrättigheter. Gör så här:

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

Eclipse en handledning

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

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

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

Installation av GeoSuite Presentation Fält

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...

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

Objektorienterad programmering i Java I

KURSMÅL WINDOWS STARTA KURSEN

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

Mitt hus och jag steg för steg instruktioner

Eclipse. Kort genomgång

Skapa mappar, spara och hämta dokument

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

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.

BaraTrav Prenumeration och Installation Version 1.3.4

Photo Story. Sara Eriksson IKT A, HT 2007

Nedladdning från PA. 1. Koden (nyckeln) 2. Programmet. SPSS Statistics 23. Gunilla Rudander IBM Corporation

Introduktion till Adobe Acrobat Connect Pro

Skoladmin kom igång! Innehåll

Studentguide Adobe Connect Pro

Digitalt lärande och programmering i klassrummet

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

Bruksanvisning. BLISSKARTA för Rolltalk Designer Artikelnr:

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

Kom igång med. Windows 8. DATAUTB MORIN AB

Bruksanvisning Bläckfisken USB

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

Flödesschema som visar hur man använder Quartus II.

Miljön i Windows Vista

1. Definiera klassvariabel. 2. Instansvariabel för klass. Selektera klass i Browsern och tryck på statics. Definiera protokollnamn, Protocol->Add...

OEvent Manual. Version 1.2. ÅID-orientering

Handhavande manual problemhantering

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

får Office att göra mer

SymWriter 2 Komma igång med symboldokument

Dreamweaver för nybörjare

Egna genvägar. Subhashish Pradhan T.C. Hollingsworth Översättare: Stefan Asserhäll

Foptec Internet Supervisor

Innehåll. Kurs i Windows

15 Skapa en Start-Diskett

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 > Android Application Project. Fyll i följande i den nya vyn: Application Name, t.ex. Hello World Project Name, t.ex. Hello World (inga mellanslag) Package Name, t.ex. se.kth.helloworld Låt i övrigt de förvalda värdena stå kavar oförändrade. Klicka på Next för de kommande vyerna tills du ser alternativet Finish; avlsuta med att välja Finish.. Du ser nu ditt nya projekt till vänster i Eclipse. Om det inte redan är öppet, öppna projektet (klicka på den lilla triangeln) 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 R.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); i emulatorn visas 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. Föra över applikationen till en mobiltelefon För att föra över ett program till telefonen 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 (t.ex. till mappen tmp). 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 Android-telefon kan du ladda ned Astro File Manager från http://www.androidfreeware.net/download-astro-file-manager.html ] 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/program/tidaa/page/prova-pa-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, MainActivity, 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 activity_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 (abc). Högerklicka på inmatningsfältet, välj Show in properites och scrolla till egenskapen Hint och ange Enter a letter. Sätt också egenskapen Input Type till textcapcharacters (så att användaren efår ett tangentbord med enbart stora bokstäver). 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-36 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 45 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 45) 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 45: 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 45) utökas till if(guessmodel.issolved()) { showtoast("gongratulations!!!"); stopwatch.stop(); Testkör programmet. Lägg till sist till att ett nytt spel initieras när applikationen startas, på samma sätt som när knappen New Game trycks (lägg koden sist i oncreate ). Testkör 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).