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 Android Studio skapar som aktivitet 1.
Lägg sen till två nya aktivitetsklasser.
-
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 Android Studio 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
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.
Vi har haft problem med överambitiösa virusfilter, som
utan att meddela det kastar bort mail med stora bilagor!
Det gäller särskilt Microsoft-drivna e-posttjänster
som Outlook.com, Hotmail.com och Live.com.
Enkla brev utan bilagor brukar fungera,
men när det gäller inlämning av uppgifter i den här kursen, som kräver
att man skickar in Android-projekt, så blir det ibland stora filer att
skicka, och då rekommenderar jag att man använder en lagringstjänst
som till exempel Google Drive, och skickar en länk dit med e-post. Man
kan också använda Blackboard. Om du inte får svar så skicka gärna ett
extra brev (utan bilaga!) för att kontrollera om det första brevet kom
fram.
|
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),
16 februari 2018