Det här är hemtentan som går lördag 12 december 2009 i kursen Mobiltelefonapplikationer med Java ME.
Ansvarig lärare är
Thomas Padron-McCarthy
(thomas.padron-mccarthy@oru.se),
telefon 070-73 47 013.
Instruktioner
-
Skriv och provkör programmet som beskrivs i uppgiften,
och skicka sen in det färdiga programmet till mig
(thomas.padron-mccarthy@oru.se)
senast klockan 08:00 söndag 13 december 2009.
-
Uppgiften ska lösas enskilt, dvs inga grupper av två eller flera studenter.
-
Du får använda dator, böcker och vilka andra hjälpmedel som helst, men
du får inte samarbeta eller fråga någon (utom mig).
-
Om du behöver fråga något, så kontakta gärna mig.
Det är nog bäst att ringa eller SMS:a
(se mobilnumret ovan),
för jag lovar inte att jag kollar e-posten under dagen.
-
Packa ihop hela katalogen med applikationen i en Zip-fil, och skicka den som en bilaga.
Men döp först om Zip-filen från nånting.zip till exempelvis nånting.info för att överlista överambitiösa virusfilter.
Om applikationen bara består av en enda Java-fil kan man i stället skicka bara den filen.
-
Om du inte senast på söndagen fått e-post från mig med en bekräftelse
på att du skickat in uppgiften,
bör du kontakta mig, enklast genom att ringa eller SMS:a mig
(ifall det är e-posten som inte fungerar).
-
Godkänt resultat på den här hemtentan ger betyget G på teoridelen av kursen.
Tillsammans med godkända inlämningsuppgifter ger detta betyget G på hela kursen.
Om man vill ha betyget VG ska man dessutom själv hitta på och göra en mindre projektuppgift.
Uppgiften
Ifall ni undrar så ja, det här är precis samma uppgift som på
omtentan i augusti.
Det var ingen som löste uppgiften,
så jag försöker en gång till med samma sak.
Min mobiltelefon har, som många moderna telefoner numera, ett tidtagarur.
Man kan starta, stoppa och pausa, och det finns även en möjlighet att spara varvtider.
Det är praktiskt att ha om man är ute och tränar.
Tyvärr är min telefon så modern att den, precis som andra datorer, ibland kraschar och startar om.
I synnerhet brukar den krascha om man lyssnar på musik med den inbyggda mp3-spelaren, vilket man kanske vill göra just när man tränar.
Problemet är att tidtagaruret ju bara är ett program, och när telefonen startar om så avslutas det programmet.
Och så blev det ingen tidtagning på den träningsrundan.
Nu vill jag ha ett tidtagarur som inte behöver köra hela tiden, och som klarar omstarter av telefonen.
Det borde vara ganska enkelt att göra.
Man kan till exempel utnyttja postlagret (record store) för att spara starttiden,
och när man sen vill se hur lång tid löprundan tog,
hämtar man starttiden ur postlagret, och subtraherar den från aktuell tid.
Skriv detta stoppur som en MIDlet!
Det här är de krav som finns på programmet:
-
Det ska finnas någon typ av startknapp eller motsvarande,
så man kan starta tidtagningen.
-
Det ska finnas någon typ av stoppknapp eller motsvarande,
så man kan stoppa tidtagningen, och se vad tiden blev.
-
Det ska gå att se aktuell tid,
utan att man stoppar tidtagningen.
-
Tiden ska ha åtminstone upplösningen sekund.
-
Programmet ska kunna stängas av, och telefonen startas om, utan att tidtagningen påverkas.
-
Programmet får inte krascha,
till exempel om postlagret inte fanns från början.
-
Var noga med att programmet "bara fungerar".
Användaren ska inte behöva krångla,
till exempel med att skapa extra filer eller köra särskilda installationsprogram,
för att kunna installera och köra programmet.
Följande kan vara trevligt, men är inte krav:
-
Det är snyggt om tiden visas och räknas upp kontinuerligt,
som på de flesta riktiga tidtagarur,
medan programmet är igång,
men det är inte ett krav.
-
Det är förstås bra om man kan fortsätta tidtagningen på nytt där man stoppade den,
så att man alltså kan pausa, men det är inte ett krav.
-
Om man flyttar telefonen mellan tidszoner under tidtagningen,
eller om man tränar medan klockan ställs om till sommartid,
får man skylla sig själv. Det behöver programmet inte hantera.
-
Det är inte ett krav att programmet räknar med, eller visar,
tiondelar eller hundradelar. Hela sekunder räcker.
Thomas Padron-McCarthy
(thomas.padron-mccarthy@oru.se),
12 december 2009