Det här är hemtentan som går lördag 1 september 2018 i kursen Mobila applikationer med Android.
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)
inom 24 timmar, dvs senast klockan 08:00 på söndagen.
-
Obs!
Det har varit mycket problem med mailen på sistone.
Om du inte vet att det fungerar att skicka arkivbilagor från ditt e-postkonto,
kan det vara bättre att skicka in bilagan via
Blackboard
eller någon lagringstjänst som
Google Drive.
Skicka ett kort vanligt e-brev också och berätta var svaret finns.
-
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).
Exempelvis är det tillåtet att söka och läsa på webbplatser som Stack Overflow, men inte att ställa egna frågor.
-
Om du behöver fråga något, så kontakta gärna mig.
Det är nog bäst att skicka ett SMS,
för jag kommer inte att sitta vid datorn hela tiden,
och jag kanske inte alltid kan svara i telefon.
-
Exportera Android Studio-projektet (eller motsvarande)
som en Zip-fil (eller motsvarande)
och skicka den till läraren.
Under menyvalet File kan man välja Export to Zip File.
-
Skicka också med APK-filen (Androids kompilerade installationsfil).
Den finns normalt i underkatalogen
app/build/outputs/apk.
-
Om du inte senast på må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).
Tänk på att en del mailtjänster (särskilt Hotmail.com, Outlook.com, Live.com)
ibland kastar bort brev med bilagor, utan att meddela det.
-
Godkänt resultat på den här hemtentan ger betyget G på teoridelen av kursen.
För att få hela kursen godkänd krävs dessutom godkända inlämningsuppgifter.
Uppgiften
Mina muffins har blivit brända!
Alltsammans beror på att jag försökte baka flera olika saker samtidigt,
men telefonen har bara ett enda tidtagarur.
Så när jag skulle ta tid på brödet, blev muffinsarna brända.
Därför behöver vi en Android-app som kan hantera fem olika tidtagningar!
Här är en mockup av hur det skulle kunna se ut:
Här har vi fem olika tidtagningar,
där var och en har tre olika knappar för att styra den:
en startknapp, en pausknapp och en reset-knapp som nollställer tidtagningen.
Egentligen borde vi kanske ha det man brukar kalla "timers",
som man ställer in på en tid, och sen räknar den ner,
och ger en signal när den kommit till noll.
Det kan vara lite enklare att göra det som brukar kallas "tidtagarur",
som alltid börjar på noll och sen räknar uppåt.
Egentligen borde varje tidtagning förstås uppdateras hela tiden,
så man ser sekunderna ticka fram.
Vill man göra det enkelt för sig kan man i stället ha en uppdatera-knapp,
som man måste trycka på för att de aktuella tiderna ska visas.
Konstruera denna app!
Krav
-
Appen ska visa fem stycken tidtagarur (som räknar uppåt),
eller, om man vill, timers (som räknar nedåt).
-
Man ska kunna starta, stoppa och nollställa varje tidtagarur.
Om man väljer att ha timers som räknar nedåt, kommer man att behöva
något sätt att ställa in starttiden.
-
Tider upp till minst 59 minuter och 59 sekunder ska kunna hanteras,
med upplösningen 1 sekund.
-
Tiderna behöver inte uppdateras automatiskt,
men om de inte gör det, behövs det något sätt att uppdatera dem,
till exempel en uppdatera-knapp som i mockupen ovan.
-
Appen behöver inte se ut som mockupen,
men den beskriva funktionaliteten ska finnas.
-
Appen får inte krascha.
Om det blir något fel när man skriver in något,
till exempel att man matar in Kalle i stället för ett tal,
får appen inte krascha.
Den bör visa ett tydligt meddelande för användaren om vad som var fel,
men det är inget krav, bara den inte kraschar.
-
Appen behöver inte spara något.
-
Det finns inget krav på att appen ska fortsätta fungera
om man vrider på telefonen.
Tips
Om man sparar starttiden för varje tidtagning,
kan man jämföra med aktuell tid för att se vad varje tidtagning ska visa.
Thomas Padron-McCarthy
(thomas.padron-mccarthy@oru.se),
31 augusti 2018