Artikel top billede

(Foto: Computerworld)

Lav en Android-app

Sådan bruger man Androids sdk og Android App Inventor til at lave enkle applikationer.

Af Redaktionen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

En af styrkerne ved Android-platformen i sammenligning med iOS, for eksempel, er, at den bygger på open source. Det gør det nemmere selv at lave applikationer og distribuere dem uden at skulle igennem en langvarig godkendelsesproces. Man kan lave sin egen Android-app på pc’en, hvis man har den rette software installeret, og man kan endda teste den ved hjælp af en Android-emulator, så man kan se, hvordan den ser ud, når den bliver kørt på en telefon.

Der findes to teknikker, når det gælder om at lave Android-applikationer på en pc. Den første bruger Android Software Development Kit. Med det kan man skrive rå kode og få den til at virke i Android-miljøet. Den anden bruger App Inventor. Det er et værktøj fra Google Labs, og det er stadig i betaudgave. Det giver et enkelt drag and drop-miljø, som man kan bruge til at generere nye applikationer, der består af byggesten af kode og medier. Det er et forsøg på at gøre applikationsudvikling mulig for folk, der ikke har stor erfaring med kode, men det kan ikke anbefales til produktionsmiljøer.

Vi antager, at du vil prøve det komplette kodemiljø, og demonstrerer, hvordan du kan producere en enkel ”Hello world”-applikation. Hvis du hellere vil arbejde i en gui, kan du læse om App Inventor senere. Android-apps bliver skrevet i Java-kode, og du skal derfor have et Java-sdk installeret på din pc. Du får også brug for et integreret udviklingsmiljø (IDE), så du kan skrive koden og afprøve den. I boksen ’Forbered din pc’ forklarer vi, hvordan man forbereder Eclipse IDE på at arbejde med Android Development Tools og med Android Software Development Kit, der gør det muligt at generere og eksekvere den rette kode i en Android-emulator.

Android-platformen

Nu da du har styr på programmeringsmiljøet, skal du også bruge mindst en version af Android-platformen. Se i boksen ’Tilføj Android-platforme’ på side 51, hvordan du gør det. Når du har downloadet en Android-version, skal du også konfigurere en virtuel enhed, der kan køre i emulatoren. Der er flere oplysninger i boksen ’Opret en AVD’ i næste del af workshoppen. Når alle disse elementer er på plads, kan du begynde på et nyt Android-projekt. Hvis du mangler nogen af disse sager, kan du ikke komme i gang.

Nyt projekt

Vi antager, at du nu har softwaren på plads, og at du har konfigureret en virtuel enhed i Android SDK and AVD-manager. Nu kan du grundlægge et nyt projekt. I Eclipse IDE vælger du ’File | New | Project’. I New Project-wizarden skal du vælge ’Android project’. Klik ’Next’. Nu har du et nyt vindue til dine projektdetaljer.

Til at begynde med vil vi lave en enkel ”Hello world”-applikation, der blot viser noget tekst, når den bliver kørt. I feltet ’Project name’ skriver du HelloAndroid. Som ’Application name’ skriver du Hello, Android. Som ’Package name’ vælger du com.example.helloandroid, og som ’Create Activity’ skriver du HelloAndroid. Klik ’Finish’. Disse parametre skal bruges til at grundlægge dit projekt i Eclipse.

Projektets navn er også navnet på den mappe, der skal indeholde dine projektfiler. Eclipse opretter den for dig. Vi går ud fra, at du har accepteret Windows-lokationen C:Users[username]workspace, og du finder den ovennævnte mappe ved C:Users[username]workspaceHelloAndroid. Hvis du søger hertil i Windows Stifinder, kan du se en række undermapper og filer, der udgør en del af projektet.

Applikationens navn er din apps titel, og den bliver vist i Android-enheden. Den skal du ændre, hvis du vil ændre app’ens navn. Du bør være lidt mere varsom med pakkenavnet. Det er navnet på den pakke, din kildekode ligger i. Det skal følge de regler, der gælder for navngivning af pakker i Java. Det skal også være unikt på tværs af Android-systemet, og derfor bruger man en domæneagtig pakke. Til eksempler som dette har man reserveret ”com.example”. Hvis du udvikler en app, der bliver offentliggjort, skal du bruge din egen navneform. Den henviser som regel til den organisation, der offentliggør app’en.

”Create activity” henviser til den class-stub, som plugin’en har genereret. En aktivitet er en handling. Den skal måske konfigurere en brugerflade, hvis det er nødvendigt. Vi har beholdt standardindstillingerne i andre projektfelter, men det er nyttigt at vide, hvad de gør. ’Min SDK version’ giver mulighed for at indstille det minimale api, som applikationen kræver.

Hvis ’Use default location’ er valgt, bliver dit projekt gemt på din computer. Det kan du ændre, hvis du vil gemme det et andet sted. ’Build target’ er platformmålet for din applikation. Det er den minimale udgave af Android, som den kan køre på.

Hvis du udvikler en app, der kører på en ældre version af Android, bør den også kunne køre på en senere udgave. Men hvis den er udviklet til en senere version af platformen, kan den næppe køre på en tidligere udgave. Til et eksempel som dette er målet ikke kritisk, så længe du kan få din applikation til at køre i emulatoren. Det har større betydning, når du skal offentliggøre en app.

Endelig er der muligheden for at lave projektet ud fra et eksisterende eksempel. Det vil sige, at man kan vælge en eksisterende kode og ændre den. Det er mere interessant, når man går i gang med mere udfordrende programmering.

Lav koden om

Nu bør du se dit projekt i Package Explorer, der bliver vist i det venstre felt i Eclipse. Dobbeltklik på ’HelloAndroid’, så bliver det maksimeret. Maksimer også ”src” og ”com.example.helloandroid”. Dobbeltklik på ’HelloAndroid.java’ for at se den kode, der allerede er lavet. I hovedfeltet bør du se denne tekst:

package com.example.
helloandroid;
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroid
extends Activity {
/** Called when the acti-
vity is first created. */
@Override
public void onCreate
Bundle savedInstanceState)}
super. OnCreate
(savedInstanceState);
setContentView(R.layout.
main);
}
}

Hvis du ikke kan se alt det, skal du prøve at se på den venstre side af feltet og maksimere eventuelle plustegn, der vidner om minimeret kode.

Det definerer din applikation uden egentlig at gøre noget på dette tidspunkt. Når vi skal have den til at gøre noget, må vi tilføje et objekt, der indeholder din tekst. Når det er gjort, skal vi også specificere teksten. Under ’import android.os.Bundle’ skriver du denne linje:

Import android.widget.TextView;

Tilføj også dette over de to sæt tuborgklammer:

TextView tv= new TextView
(this);
Tv.setText(“My First
Android App”); (tv);

Du kan erstatte teksten i citationstegn og din app til at sige det, du ønsker. Kontroller, at koden i dens helhed svarer til det følgende. Vi antager, at du har bevaret den vis-te tekst:

package com.example.
helloandroid;
import android.App.Activity
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid
extends Activity {
/**Called when the acti-
vity is first created. */
@Override public void
onCreate(Bundle savedInstan-
ceState) {
super. OnCreate
(savedInstanceState);
TextView tv =
new TextView(this);
Tv.setText(“My First
Android App”);
SetContentView(tv);
}
}

Gem ændringer i din kode. Nu kan du afprøve den i Android-emulatoren. I Eclipse vælger du ’Run | Run | Android application’. Emulatoren starter. Det kan tage nogle minutter at boote i Android – vær tålmodig. Når det er bootet, bør din app køre automatisk, og du kan se en grå titelbjælke med app-navnet. Nedenunder bliver din tekst vist.

Tryk ’Home’-knappen i emulatoren for at komme tilbage til Androids hovedskærmbillede. Klik på knappen ’Applications’ for at se en liste over tilgængelige applikationer. Blandt dem bør du kunne se ’Hello, Android’. Start din app igen ved at vælge den.

Android-enhed

Nu har du kørt din app i emulatoren, og du kan prøve at køre den i en rigtig enhed. Vælg ’Window | Android SDK and AVD manager | Available packages’. Vælg Android-lageret, sørg for, at usb-driveren er tilvalgt, og klik ’Install selected’.

Slut din telefon til en ledig usb-port, og find undermappen til usb-driveren. Windows bør kunne finde den og installere den derfra.

Nu skal du karakterisere din app som debuggable. I Eclipse maksimerer du din HelloAndroid-applikation og dobbeltklikker på ’AndroidManifest.xlm’. Gå til ’Application’, og vælg ’True’ i Debuggable-listen. Gem projektet.

Gå til din Android-telefon, og vælg ’Menu’ på hovedskærmen. Vælg ’Applications | Development’, og slå usb-debugging til. Nu kan du koble den til din pc via usb. Hvis du vil se, om sdk’et kan se din telefon, skal du gå til mappen Tools i mappen Android SDK. Start adb.exe, så bør du kunne finde din telefon opført som ’Device’.

Du kører din applikation på den tilkoblede telefon ved at vælge ’Run | Run | Android application in Eclipse’. Nu er både emulatoren og telefonen sluttet til. Du skal angive, hvilken du vil køre den på. Eclipse giver dig en Device Chooser, der opregner alle de tilgængelige enheder og emulatorer. Vælg din telefon på listen for at installere og køre app’en.

Nu har du lavet og kørt en meget enkel applikation ud fra rå kode i en emulator og på en Android-enhed. Nu kan du begynde at lære selv at udvikle din egen app. Det hjælper at have et vist kendskab til Java-programmering, men du kan også finde en række guider på Android Developer Resources-siderne.

Her er der introduktioner til forskellige apps og anvisninger på, hvordan man implementerer dem. Her kan du også finde måder, hvorpå man bruger fælles ressourcer, såsom lokationsinformation, og finde ud af, hvordan du debugger dit værk.

Du kan også finde en komplet liste over kodeeksempler på disse sider. Det gør det muligt for dig at arbejde dig igennem applikationseksempler, som du kan ændre efter din egen smag. Der er for eksempel tale om spil som Snake og Lunar Lander, og her er værktøjer som Note Pad og Wiktionary. Du kan finde endnu flere muligheder på Apps-for-Android.

App Inventor

Nogle får tårer i øjnene, når de ser et par linjer kode. Her kan App Inventor være løsningen. Denne opfindelse fra Google Labs gør det muligt at lave applikationer ved hjælp af en browser og enten en tilkoblet telefon eller en Android-telefon-emulator. Alt dit arbejde bliver gemt på App Inventor-serverne, og du kan når som helst vende tilbage til det.

App Inventor består af tre hovedkomponenter. Med App Inventor-designer kan du vælge komponenter til din app, herunder medier, knapper, labels og alt andet, der knytter sig til app’ens udseende. App Inventor Blocks Editor tager sig af app’ens beregningskomponenter. Det er her, der bliver taget beslutninger, og den fremstår som en slags puslespil. Man trækker og slipper programstumper som i et puslespil.

Emulatoren omfatter en virtuel telefon, man kan bruge til at afprøve sit program på, og den bliver opdateret løbende, efterhånden som man indfører ændringer. Du kan vælge at bruge en rigtig Android-telefon i stedet for emulatoren, blot der er Windows-drivere, der understøtter den, og som kan samarbejde med App Inventor. Sidst i artiklen gennemgår vi i 12 trin, hvordan du får gang i App Inventor, og hvordan du laver din første app. Den omfatter et billede af en kat, der spinder, når man aer den.

Den første del af gennemgangen fokuserer på at sikre, at din pc kan køre App Inventor. Den er delvis cloudbaseret, men der er stadig komponenter, som skal køre lokalt. Den vigtigste af dem er den nyeste version af Java. Det er klogt at køre et par test for at være sikker på, at din browser kan håndtere Java-kode korrekt, før du downloader den komplette App Inventor. Hvis du har nogen browser-extensions installeret, der forhindrer kode i at køre på browseren, såsom No Script til Firefox, er det en god ide at slukke dem eller helt afinstallere dem, før du kører App Inventor.

Når du har installeret App Inventor, skal du køre den ved at gå på App Inventor-sitet. Du kan ikke blot køre den fra Start-menuen. I din browser skal du gå til http://appinventor.googlelabs.com. Hvis det hele er på plads, starter programmet. Du får måske brug for at logge på din Google-konto, hvis du ikke allerede har gjort det. Det er nemlig her, dine udviklingsdata bliver gemt.

Når du har dit simple Hello Purr-program kørende, kan du gå lidt videre. Der er en lang række guider til udviklingsapplikationer på www.appinventorbeta.com/learn/tutorials. Her kan man finde et simpelt tegneprogram, forskellige quiz- og arkadespil, og der er apps, som bruger telefonens gps-chip til at finde tilbage til din bil. Du kan bruge og modificere disse programmer til at udvikle nogle lignende apps. Hvis du får brug for flere oplysninger om App Inventor, kan du lære mere om komponenter, blokke og andet på www.appinventorbeta.com/learn/reference.

Du er nødt til at gøre noget for at forberede din computer på Androids sdk. Begynd med at installere Java Development Kit. Hent den rigtige udgave til din Windows-version. Du skal også installere Eclipse IDE til Java-udviklere, og den kan du få på www.eclipse.org/downloads.

Når du installerer Eclipse, leder programmet efter jdk’et. Det er bedst at pakke Eclipse ud i samme mappe som jdk’et. Hvis det ikke kan finde jdk’et, bliver det ikke installeret. Men du kan altid flytte de ønskede filer til den mappe, Eclipses installationsprogram undersøger.

Når Eclipse er oppe at køre, kan du downloade Androids sdk. Det kan du hente på http://developer.android.com/sdk. Pak det ud i en sikker mappe på din pc, og skriv ned, hvor det ligger. I Eclipse skal du tilføje Android Development Tools.

Det gør du ved at vælge ’Help | Install new software’. Ved siden af ’Work with’ skriver du https://dl-ssl.google.com/android/ecipse og klikker ’Add’. I feltet nedenunder vælger du ’Development tools’ og klikker ’Next’. ’Android DDMS’ og ’Android Development Tools’ skal være tilvalgt. Klik ’Next’, accepter betingelserne, og genstart.

Du skal pege ADT-plugin’en til det sted, hvor du udpakkede Androids sdk. I Eclipse vælger du ’Window | Preferences | Android’. Ved siden af ’SDK location’ klikker du ’Browse’ og finder mappen med sdk’et. Klik ’Apply’ og ’OK’.

Når du har fået Eclipse op at køre og har mindst en version af Android-platformen installeret på din pc, skal du konfigurere en Android Virtual Device eller avd. Det kan du gøre i Android SDK and AVD Manager. Vælg ’Window | Android SDK and AVD Manager’, og vælg ’Virtual devices’. Klik ’New’, og skriv et navn til din nye enhed. Vælg den Android-platform, du vil bruge som mål. Klik ’Create AVD’.

Hvis du vil teste din applikation under forskellige versioner af Android, skal du oprette en ny virtuel enhed for hver version af platformen. Her kan du også specificere andre parametre, herunder tilstedeværelsen og størrelsen af et sd-kort.

Man kan også vælge en fil, der fungerer som et virtuelt sd-kort. Du kan vælge at bruge den indbyggede skin (anbefalet) eller specificere den opløsning, du vil bruge. Under ’Hardware’ klikker du ’New’ og vælger en enhed, hvis du vil tilføje mere virtuel hardware. Til et enkelt AVD kan du fint klare dig med standardindstillingerne. Nu kan du lukke Android SDK and AVD Manager.
Nu da du har en virtuel enhed, kan du oprette et projekt i Eclipse og begynde at lave din egen Android-applikation.

Når du skal afprøve en app, som du har lavet, skal du installere en version af Tilføj Android-platformen. Det kan du gøre i Android SDK and AVD Manager, som du kan køre i Eclipse, hvis dit system er sat korrekt op. Åbn den med ’Window | Android SDK and AVD Manager’. Vælg ’Available packages’, og klik i boksen ud for ’https://dl-ssl.google.com/android/repository/repository.xml’. Efter en hurtig scanning af lageret kan du se de komponenter, der er til rådighed.

Klik ud for dem, du vil installere, og ryd resten. Den vigtigste pakke, du skal installere, er den seneste version af Android-platformen. Du skal kun bruge ældre versioner, hvis du har tænkt dig at offentliggøre din app og vil teste den på forskellige versioner.

På dette stade kan du også fjerne eksemplerne, Google-api’er og usb-driveren. Hvis du senere får brug for dem, kan du altid vende tilbage og installere dem. Klik ’Install selected’, og vent på, at komponenterne bliver downloadet. Accepter de nye komponenter, hvis du bliver bedt om det, så bliver de føjet til dine eksisterende Android SDK-mapper.

[themepacific_accordion]
[themepacific_accordion_section title="Fakta"]

Det skal du bruge

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Linux-kerne

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Java

[/themepacific_accordion_section]
[/themepacific_accordion]