Mobila applikationer med Android: Hemtentamen 2015-12-05

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

  1. 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.
  2. Uppgiften ska lösas enskilt, dvs inga grupper av två eller flera studenter.
  3. 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.
  4. 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.
  5. 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.
  6. 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).
  7. 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:

Rymdmonster

Om man drabbas av en rymdinvasion, måste man snabbt tillkalla hjälp, som kan försvara jorden mot monstren:

Flygvapnet bekämpar monstret

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:

Appen

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


Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se), 5 december 2015