Mobila applikationer med Android: Hemtentamen 2013-12-07

Det här är hemtentan som går lördag 7 december 2013 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) senast klockan 08:00 söndag 8 december 2013.
  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).
  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 inte att sitta vid datorn. Under lördagen och söndagen går jag kanske inte heller att nå via telefon.
  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 för att överlista överambitiösa virusfilter.
  6. Om du inte senast under tisdagen (10 december) 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

I äldre versioner av Android kunde man inte ställa in tiden noggrannare än på en minut när. Det gick inte att ställa in sekunderna, annat än genom att först "roota" telefonen.

Däremot kan man förstås surfa till en webbsida på en server som visar korrekt tid, eller hämta tiden via nätet på annat sätt. Nu ska vi göra en Android-app som kopplar upp sig mot en särskild tidsserver, hämtar korrekt tid, och presenterar den, tillsammans med hur mycket telefonens tid avviker.

Det går bra att göra den här uppgiften även om man inte gjort inlämningsuppgift 4, men det är förmodligen lättare om man gjort den.

Här är ett exempel på hur appen kan se ut. Direkt när man startar den kopplar den upp sig mot servern, så man behöver inga knappar alls. (Klicka på bilden för att se den i större format.) Om man vill får man göra en mycket vackrare lösning.

Exempel på en lösning.

Servern lyssnar på port 2005. Direkt när den tar emot en uppkoppling svarar den med en tidsrad, och kopplar därefter ner förbindelsen. Tidsraden har formatet
DATE 2013-12-06 18:03:24.776 +0100
dvs den börjar med DATE, därefter kommer dagens datum på formatet år-månad-dag, därefter tiden på formatet timmar:minuter:sekunder.tusendelar, och till sist tidszonen, angiven som tidsskillnaden till UTC. Delarna skiljs åt av mellanslag.

Krav

Tips


Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se), 6 december 2013