Guide: Lav din egen Android-app

Guide: Lav din egen Android-app

Share

Sådan kommer du i gang med at udvikle apps til Android

Med Android Studio på plads, kan vi gå i gang med at udvikle apps til Android. Men inden du kommer for godt i gang, må vi hellere forklare lidt om Android. Som bruger af Android er der mange ting, som man ofte ikke tænker på – heldigvis for det!

For en programmør er Android et komplekst styresystem. I bunden af systemet er en Linux-kerne. Kernen er stort set den samme kerne, som du finder i Linux-distributioner som Ubuntu Linux, men der er enkelte ændringer. For eksempel afvikles hver Android-app i et lukket miljø eller sandkasse. Til hver app oprettes en bruger på systemet, og på den måde kan Android bruge Linux’ indbyggede rettighedssystem og skærme adgangen. To apps har dermed ikke adgang til hinandens filer, og crasher en app, har det ingen betydning for den anden.

Android-apps skrives generelt i Java. C og C++ bruges i meget lille omfang, og mit gæt er, at over 90 pct. af alle Android-udviklere aldrig har skrevet en linje i C eller C++. Java-programmer oversættes til bytecode og afvikles på en virtuel maskine (Java Virtual Machine, JVM). Det gælder både et Java-program, som kører på din computer og din Android-telefon. Afhængig af hvilken version af Android, der er tale om, fortolkes bytecode, oversættes til maskinekode under installationen eller oversættes til maskinekode, mens din app kører. Det er generelt skjult for både brugere og programmører.

Se også:  Guide: Fjern junkmail fra indbakken

En Android-app består ofte af mange tråde. Ser du på dine Java-programmer, lever Java-trådene inden i JVM. Android har taget en anden vej: her er Java-tråde implementeret som Linux-tråde. Det gør, at multitasking i Android apps ofte udnytter din telefons cpu meget bedre. Det betyder også, at Android-apps består af mange tråde, da det vil give en mere flydende og responsiv app.

Én tråd er speciel, nemlig den tråd som står for opdatering af brugergrænsefladen (i daglig tale kaldet UI-tråden). Blokerer du UI-tråden længe (5 sekunder), vil Android foreslå brugeren at stoppe appen. Du ser en “Android Not Responding” (ANR) dialog. Kort fortalt, du skal bruge andre tråde end UI-tråden til lange operationer, f.eks. download af data fra nettet.

Se også:  Guide: Gendan mistede eller slettede filer
Ikke bare Android

Google tilbyder med Android en rig udviklingsplatform. Udover at Javas standard API/biblioteker er implementeret, finder du mange forskellige biblioteker. Der er biblioteker for at hente data fra servere på internettet, biblioteker til lyd og billeder, databaser, og naturligvis håndtering af brugergrænsefladen og vekselvirkningen med brugeren.

Selvom Google tilbyder en rig platform, udvikles apps i dag med brug af mange open source biblioteker. Godt nok dokumenterer Google-platformen godt, men den er ikke altid elegant at bruge, og mange kreative Android-udviklere hitter på lettere måder. Et website som Android Arsenal forsøger at samle mange af disse biblioteker i overskuelige oversigter.

Del denne