Tillbaka till lektionslistan
Mobila applikationer med Android: Inlämningsuppgift 3
Meningen med den här uppgiften är:
-
Man ska förstå hur en applikation kan innehålla flera olika aktiviteter
(klassen Activity),
och hur man kan starta dem med hjälp av intents
("avsikter", klassen Intent).
-
Man ska kunna skapa en enkel meny genom att låta aktiviteten definiera metoderna
onCreateOptionsMenu
och
onOptionsItemSelected.
Uppgift
Skapa en Android-app som innehåller tre olika aktiviteter.
Varje aktivitet ska ha en meny, med vilken man kan välja att gå till
de andra aktiviteterna.
Så här kan de tre aktiviteterna se ut:
I varje aktivitet ska det finnas en meny
så att man kan välja att gå till de andra aktiviteterna:
(Bilderna är från en mycket gammal Android-version!
Man får räkna med att olika Android-versioner,
och ibland också samma version på olika tillverkares telefoner,
kan se olika ut.)
Dessutom ska det finnas ett fjärde menyval för att starta en webbläsare:
Lästips
-
I
lektionen
om programmet Satellite Rush
finns ett exempel på hur man kan starta en aktivitet med hjälp av ett intent.
Här finns även exempel på hur man skapar en meny med hjälp av metoderna
onCreateOptionsMenu
och
onOptionsItemSelected.
-
Läs också i referensmanualen om de två metoderna:
onCreateOptionsMenu,
onOptionsItemSelected.
-
Titta på artiklarna och exempelkoden som finns på
Android-webbplatsen.
Under fliken Dev Guide finns rubriken Intents and Intent Filters.
Läs också i referensmanualen om klassen
Intent.
Programmeringstips
-
De tre aktiviteterna måste finnas med i applikationens
AndroidManifest.xml,
annars kommer de inte att hittas.
-
Man kan använda den default-aktivitet som Eclipse skapar som aktivitet 1.
Lägg sen till två nya klasser som ärver från Activity.
-
Om man vill skapa XML-layouter för de två nya aktiviterna
kan man göra det under
res -> layout -> New -> Other -> Android XML File,
och sen väljer man resurstypen Layout.
Sen kan man dra och släppa textvyer (TextView) i det grafiska layoutverktyget.
-
Om man vill använda resurs-värden för att lagra textsträngarna som visas i textvyerna,
på samma sätt som i default-aktiviteten som Eclipse skapar,
kan man skapa nya namngivna strängvärden i XML-filen strings.xml.
-
Så här kan man öppna en webbläsar-aktivitet med hjälp av ett intent:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(android.net.Uri.parse("http://basen.oru.se/kurser/android"));
this.startActivity(intent);
|
-
Normalt startar man inte en massa nya aktiviteter så här,
utan man går tillbaka till en tidigare aktivitet,
till exempel när man går tillbaka till applikationens huvudaktivitet från en hjälpsida.
Men här är det okej att starta nya aktiviteter hela tiden.
Redovisning
Packa ihop hela Eclipse-projektet (eller motsvarande) som en Zip-fil (eller motsvarande)
och skicka den med e-post till läraren.
APK-filen (Androids kompilerade installationsfil) ska vara med.
Den finns normalt i underkatalogen
app/build/outputs/apk.
Vi har haft problem med överambitiösa virusfilter,
och för att överlista dem kan man döpa om Zip-filen från nånting.zip
till exempelvis nånting.info (inte nånting.txt).
Om samarbete:
Varje student ska göra en egen lösning, och skicka in den,
men det är inte förbjudet att samarbeta eller fråga andra studenter om hjälp.
Däremot ska man i så fall tydligt ange vilka som man samarbetat med.
|
Skriv gärna i ärenderaden på brevet vilken kurs det handlar om,
till exempel "Android-uppgift 3", och inte bara "Uppgift 3".
|
Tillbaka till lektionslistan
Thomas Padron-McCarthy
(thomas.padron-mccarthy@oru.se),
25 augusti 2017