Det här är hemtentan som går lördag 5 december 2015 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.
-
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 ringa eller SMS:a,
för jag kommer kanske inte att sitta vid datorn.
-
Packa ihop hela katalogen med applikationen i en Zip-fil, och skicka den som en bilaga.
(Även rar- och tar-filer fungerar.)
APK-filen (Androids kompilerade installationsfil) ska vara med.
Men döp först om Zip-filen från nånting.zip
till exempelvis nånting.info
(inte nånting.txt) för att överlista överambitiösa virusfilter.
-
Om du inte senast under måndagen får 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.
För att få hela kursen godkänd krävs dessutom godkända inlämningsuppgifter.
Uppgiften
När som helst kan jorden invaderas av monster från rymden.
Den kända kvalitetsfilmen
Rymdinvasion i Lappland
beskriver hur det kan gå till, och hur monstren kan se ut:
Om man drabbas av en rymdinvasion, måste man snabbt tillkalla hjälp,
som kan försvara jorden mot monstren:
1959, när
Rymdinvasion i Lappland
spelades in, fanns inte dagens moderna tekniska hjälpmedel,
till exempel mobila enheter med Android.
Därför kunde det ta lång tid för larmet att nå fram till relevanta myndigheter.
Nu ska vi göra en Android-app, så att den som råkar ut för en rymdinvasion
kan tillkalla hjälp. Appen ska ha en knapp, eller motsvarande.
Här är ett exempel på en enkel utformning:
När man trycker på knappen ska appen koppla upp sig mot chat-servern
som vi känner igen från
inlämningsuppgift 4,
dvs på port 2001 på servern basen.oru.se.
Där ska den skicka ett meddelande om rymdinvasionen.
(Vi räknar med att de relevanta myndigheterna ständigt sitter och chattar,
och därför ser meddelandet.)
Eftersom rymdinvasioner kan inträffa var som helst på jorden,
ska appen också skicka den aktuella platsens koordinater,
som ska hämtas från Android-enhetens GPS-mottagare.
Exempel på hur meddelandet skulle kunna se ut:
Hjälp! En rymdinvasion pågår på lat. 59.2535598 N, long. 15.2471354 Ö. Hjälp! Hjälp!
|
Krav
-
När man trycker på knappen (eller motsvarande),
ska appen koppla upp sig mot port 2001 på servern basen.oru.se,
och automatiskt skicka en textrad med en begäran om hjälp.
-
Appen ska hämta aktuella GPS-koordinater (latitud och longitud)
och skicka med dem.
-
Appen får inte krascha,
även om det till exempel inte går att koppla upp sig mot servern.
(Det skulle vara mycket frustrerande,
när man står där i Lappland med rymdmonstren.)
-
Om det uppstår ett fel, till exempel att det inte går att
koppla upp sig mot servern, ska ett korrekt och informativt
felmeddelande om vad som hänt skrivas ut så användaren ser det.
Thomas Padron-McCarthy
(thomas.padron-mccarthy@oru.se),
5 december 2015