Gissa ordet, tutorial

Relevanta dokument
Ett enkelt Androidspel, tutorial

Ett enkelt Androidspel, tutorial

Laboration 10 - Eclipse

INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ

NetBeans 5.5. Avsikt. Projektfönster

NetBeans 7. Avsikt. Projektfönster

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

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

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

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 10 - NetBeans

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

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

Code-Lite tutorial ( /RoJ)

Lathund för BankID säkerhetsprogram

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

Installationsanvisning för Su Officemallar 2013 För PC

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

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

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

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

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

FIRSTCLASS. Innehåll:

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

PM Dokumentation

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

Kom igång med Livescribe Desktop

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

Installationsanvisning för Su Officemallar 2007 För PC

Översättningsminnen laboration

Workshop PIM 2 - PowerPoint

Övning: Skapa en ny regel

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

Administrationsmanual ImageBank 2

WinStudio - Uppstart. Drifttagning av operato rspanel med IndraWorks och WinStudio. IndraWorks 14. Version

Installationsguide för mysql och OLA Server/OLA Klient

Extramaterial till Matematik Y

Objektorienterad programmering i Java I

Spara filer eller mappar från ett kursrums filhanterare i Blackboard 9.1

BaraTrav Prenumeration och Installation Version 1.3.4

Visma Proceedo. Att logga in - Manual. Version 1.3 /

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Överflyttning av värld

Verktyg och Utvecklingsmiljö. Jochim von Hacht

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

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Övning: Arbeta med Azure Explorer

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

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

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

Installationsanvisning för Su Officemallar 2011 För Mac Word och PowerPoint

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

Skoladmin kom igång! Innehåll

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

Extramaterial till Matematik Y

Windows Forms Winstrand Development

Eclipse en handledning

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

surell consulting ab

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

MANUAL CHRONO COMAI Comai AB erbjuder kvalificerade anpassningsbara och Comai AB

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:

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

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

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

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Lathund Office online

Installationsguide ELCAD 7.10

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

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

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Installationsanvisning för Su Officemallar 2011 För Mac Word och PowerPoint

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.

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.

INSTALLATION AV VITEC MÄKLARSYSTEM

Grundkurs 1 IKT Filhantering

Steg 1 Minnen, mappar, filer Windows 8

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

Information efter genomgång av Microsoft Word 2010

Version X6 Fler tips

Foptec Internet Supervisor

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

I.site Webbsidesverktyg handledning

Skapa mappar, spara och hämta dokument

Hur man skapa en Wiki.

IT-körkort för språklärare. Modul 3: Ljud, del 1

Steg 1 Minnen, mappar, filer Windows 7

Programmering. Scratch - grundövningar

Snabbguide för användare SourceTech Telllus

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

Ladda ner en talbok med mobil eller surfplatta

Svensk version. Inledning. Installation av Windows XP och Vista. LW056V2 Sweex trådlös LAN cardbus-adapter 54 Mbps

Spara filer eller mappar från ett kursrums filhanterare i Blackboard 9.1

I dokumentet beskrivs hur man i medlemsregistret (MiRiaM) utför en så kallad avancerad sökning.

Manual Produktion av presentationssynkar med PowerPoint och Producer

Handhavande manual problemhantering

Innehåll instruktion Sharefile för Trafikverkets applikationer

Transkript:

Gissa ordet, 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å http://www.kth.se/sth/utbildning/hogskoleingenjor-180-hogskolepoang/data/datatekniksidorna 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) Under Build Target, bocka för Android 2.1-update 1 Under Properties, Application Name, ange applikationens namn, t.ex. Hello World Properties, Package name, ange t.ex. se.kth.dittnamn (en namnrymd för dina klasser) Properties, Create Activity, ange namnet på huvudklassen (Activity), t.ex. HelloWorldActivity Properites, Min SDK Version, ange 7 Klicka på Finish. Du ser nu ditt nya projekt till vänster i Eclipse. Öppna projektet (klicka på +) och därefter src o.s.v. tills du ser din Activity-klass (här: HelloWorldActivity). Öppna filen. Det enda denna kod gör är att skapa en vy (vars layout definieras i filen R.layout.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 som 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. 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. 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 ] 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 http://www.kth.se/social (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. i mappen C:\Eclipse. 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å +-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, se nedan.

Lägg till fler komponenter Dra på samma sätt in ett inmatningsfält, EditText, i layouten, så att det ser ut ungefär som på föregående sida (lägg denna komponent ovanför knappen). Ändra så att ingen text syns i fältet. Lägg också till en tidtagare, Chronometer, ovanför inmatningsfältet samt ytterligare en knapp, för att starta om spelet, längst ned. 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, ta bort //, på raderna 30-36. 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 den överst. Lägg till följande från rad 44, 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.

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); 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 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 i verkligheten.

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