Guide: Android programmering för nybörjare!
Detta är en nybörjarguide till Android programmering. Jag ska först guida er igenom installationen av alla nödvändiga program och plugin så att ni är redo att köra. Efter det ska jag visa hur man bygger en simpel miniräknare som kan addera och subtrahera.
Jag måste bara börja med att säga en sak. Det var mycket svårare att skriva denna guide än jag först trodde. Det blev väldigt komplicerat att förklara så mycket som möjligt med text utan att prata och fortfarande hålla det kortfattat. Men jag har försökt göra mitt bästa. Om ni gillar guiden så kommer det troligtvis komma en fortsättning. Visa gärna att ni gillade den och att ni vill ha en fortsättning genom att gilla inlägget!
1: Ladda ner och installera nödvändiga program och plugin
Först ska vi installera Java JDK. Det gör vi genom att gå in på http://www.oracle.com/technetwork/java/javase/downloads/jdk7-..., acceptera villkoren och sedan väljer du vilken JDK du vill ha. I mitt fall väljer jag ”Windows x64” eftersom jag kör Windows 64-bit. Spara filen på ett lämpligt ställe. När filen är nerladdad kan du klicka på den och börja installera.
Nu ska vi ladda ner Eclipse som är ett program där vi kommer skriva ner vår kod i. Gå in på http://www.eclipse.org/downloads/ och ladda ner Eclipse IDE for Java Developers. Till höger kan du välja till vilket OS du vill ladda ner programmet. Bara klicka på ditt OS så kommer du vidare till nerladdningssidan. Lik tidigare så kommer jag att välja Windows 64-bit.
Nu ska du välja var ifrån du vill ladda ner filen. Jag kommer att välja [Swizerland]SWITCHmirror (http). Bara klicka på något av alternativen så ska den börja ladda ner Eclipse.
Nu ska du extrahera filen du laddade ner med valfritt program (Exempelvis Winrar). När du extraherat filen kommer du se en fil som heter Eclipse (har en liten ikon bredvid sig) som du ska klicka på för att öppna Eclipse.
Du kommer nu bli ombedd att välja en mapp där du kommer att spara alla dina projekt från Eclipse i. Jag kommer själv att välja C:\Users\Alex\workspace men du får självklart välja vart du vill. Tryck på OK när du valt.
Nu när du är inne i Eclipse ska vi ställa in Android ADT som kommer ge oss verktygen för Android programmering. Tryck på ”Help”-fliken och sen på ”Install New Software”. Kopiera nu in ”https://dl-ssl.google.com/android/eclipse/” (utan citattecken) i fältet ”Work with:” och tryck på ”Add…”. Skriv in Android ADT under ”Name:” och tryck på OK. När ”Developer Tools” dyker upp ska du kryssa i rutan till vänster och sedan trycka på ”Next”. Tryck på ”Next” igen så du kommer fram till en sida med villkor som du ska acceptera. Efter det trycker du på ”Finish” och du ska nu se hur den installerar.
Vi ska nu installera Android SDK som du gör genom att gå in på http://developer.android.com/sdk/index.html och sedan trycka på ”Download the SDK”. När nerladdningen är färdig ska du trycka på filen så att installationen börjar. När installationen är färdig ska du kryssa i rutan ”Start the SDK Manager” innan du trycker på ”Finish”.
Du ska nu välja vilka plattformar du vill utveckla för. Jag kommer bara att ladda ner Android 4.0.3 eftersom det kommer att ta längre tid att ladda ner alla. Du behöver också behöva ladda ner "ARM EABI v7a System Image" under "Android 4.0 (API 14)" om du väljer Android 4.0.3 som jag.
När du kryssat för vilken plattform du vill ta så trycker du på ”Install x packages…”. Tryck nu på Accept All och sedan på Install. När allt är installerat kan du trycka på ”Close.
Vi ska nu starta upp en emulator genom att klicka på ”Tools” och sen ”Manage AVDs…”. Tryck på ”New…” och skriv in ett namn på emulatorn. Du kan välja vad du vill men det måste vara ett ord. Under namnet ska du välja vilken plattform du vill köra på din emulator. Välj nu det du laddade ner, i mitt fall Android 4.0.3. Nu ska du under ”CPU/ABI” välja ”ARM (armeabi-v7a)”. Under ”SD Card:” och ”Size:” kan du skriva in 75 och sedan trycka på Create AVD. Tryck OK på rutan som dyker upp.
Viktigt: Om du skulle bli nekad att installera filerna ska du stänga ner SDK Manager och öppna upp det på nytt men med administratörsrättigheter. Det får du genom att högklicka på SDK Manager och sedan välja ”Kör som administratör”. Detta borde lösa problemet.
2: Skapa ett nytt projekt
Vi ska nu skapa ett nytt projekt och det gör vi genom att först öppna upp Eclipse. Tryck på fliken ”File” sen ”New” och sedan ”Other”. Du borde nu se i listan att det står ”Android”. Om du gör det, klicka där sen klickar du på ”Android Project” och sist klickar du på ”Next”. Du ska nu välja ett projektnamn som kan vara vad som helst, jag kommer att kalla mitt projekt för Hello Sweden. Därefter trycker du på ”Next” och på sidan som kommer upp väljer du den plattform du vill utveckla mot och sedan trycker du på ”Next” igen. Under ”Application name:” skriver du in det namn som appen kommer att heta på din enhet. Jag kommer att låta den heta Hello Sweden. Under ”Package name:” gäller det att du har ett unikt namn eftersom att om en annan app har samma namn på Google Play kommer du inte kunna ladda upp den. Jag kommer att döpa min till ”com.alexm.hellosweden”. Nu kan du trycka på ”Finish” längst ner.
3: Undersöka mapparna och dess innehåll
Till vänster under ”Package Explorer” hittar du ditt projekt. Om du öppnar upp mappen med ditt projekt så kommer du att se ett flertal undermappar. Om du öppnar upp ”scr” och sen mappen med ditt projektnamn kommer du se en fil som heter ”x.java” (x beror på vad du döpte din app till). Du kan tänka dig att denna ”scr” mapp är mappen med alla java filer. Under ”res” hittar du bland annat ”layout”. Om du öppnar upp den ser du en fil som heter ”main.xml”. Det är här vi kommer att sköta all layout i appen. ”main.xml” är just nu den första layouten vi kommer att se när vi startar appen.
Under ”res”-mappen kommer alla filer som t.ex. bilder och ljud ligga i. ”Drawable”-mapparna har olika bokstavskombinationer på slutet pga. Att upplösningen är olika på olika telefoner. Du lägger t.ex. en högupplöst bild i hdpi(High-dpi) och en lågupplöst bild i ldpi(low-dpi).
4: Testa applikationen
Om du nu vill testa appen så högerklickar du på ditt projekt och sedan klickar du på ”run as” och sist på ”Android Application”. Nu kommer emulatorn att starta upp (det kan ta en liten stund) och sedan starta appen. När appen har startat kan du öppna upp ”main.xml” i Eclipse. Du borde nu se samma bild i Eclipse som i emulatorn.
5: Layout
När vi håller på med layouts så finns det två stycken olika flikar att växla i mellan. ”Graphical layout” och xml-layouten (main.xml). Under den grafiska fliken ser du det som du skulle sett i emulatorn/mobilen. Under xml-fliken ser du alla kod. Koden som du ser just nu är en kod som projektet redan hade med som ett exempel.
Kodraden längst upp behöver du inte bry dig om just nu, den kommer alltid att vara där. Under den raden ser du hur det står ”LinearLayout”. Inne i ”LinearLayout ”ligger en ”TextView”. Om vi skulle ändra ”orientation” under ”LinearLayout” till ”horizontal” istället för ”vertical” skulle alltså texten hamna horisontellt och inte vertikalt. Detta ser vi ingen skillnad på just nu eftersom vi bara har en ”TextView” men om vi kopierar” TextView:n” och klistrar in den under den första så borde vi se skillnad på vertikalt och horisontellt. Testa nu att växla mellan dom två samtidigt som du växlar flikarna från grafiskt till xml. Du bör nu se skillnaden.
Du ser under xml-fliken hur det står ”android:layout_width=” och ”android:layout_height=” lite överallt. Efter det står det antingen ”fill_parent” eller ”wrap_content”. Testa att växla mellan de två i ”TextView:n” för att ta reda på vad som händer.”fill_parent” fyller alltså ut hela ytan och ”wrap_content” omger bara den yta den behöver.
Jag tänker inte ge mig in på ”strings” nu så radera kodraden
android:text="@string/hello"
och skriv istället
android:text="valfri text"
Du ser nu under den grafiska fliken att det står det du skrev in. På det viset kan du alltså skriva ut text på skärmen.
Ta bort en ”TextView” och ändra tillbaka ”orientation” under” LinearLayout” till ”vertical”. Ändra också texten så att det står ”Summan är 0”. Du kan även ändra textstorlek genom att skriva
android:textSize="45dp"
Skriv också in en ny kodrad där det står
android:gravity="center"
för att få texten centrerad.
Nu ska vi lägga till en knapp genom att skriva en ny rad där det står
<Button android:layout:width="250dp" android:layout_height="wrap_content" android:text="+1" android:textSize="20dp" android:layout_gravity="center"
och avsluta allt med />. Kopiera knappens xml-kod och klistra in under så att du har två knappar. Byt ut texten ”+1” till ”-1”.
För att vi ska kunna referera till knappen i vår java-fil måste vi ge knapparna ett id. Så skriv in
android:id="@+id/kPlus"
för addera-knappen och
android:id="@+id/kMinus"
(k står för knapp) för subtrahera-knappen. Ge även din ”TextView” ett id genom att skriva samma kod men byt ut kPlus/kMinus till tvSumma (tv=TextView). Så det ska bli
android:id="@+id/tvSumma"
6: Java-klasser
Öppna nu upp din .java-fil under ”scr”. Från ”public class”-raden till ”}”-tecknet är din klass. Först ska vi sätta upp en variabel mellan den blå textraden och ”@override”. Skriv
int counter;
. På nästa rad skriver du
Button add;
Du kommer få ett fel vid Button så håll musen över button och tryck på import ”button”. Nu borde felet försvinna. Skriv sedan till sub efter add så att det står
Button add, sub;
Skriv på raden under Button,
TextView display;
Glöm inte importera ”TextView” som du gjorde med Button.
Under ”SetContentView” skriver du
counter = 0;
Under den raden skriver du
add = (Button) findViewById (R.id.kPlus);
Nu kopplar du alltså ihop Knappen ”add” med knappen i layouts. Gör samma sak med på raden under fast med den andra knappen, alltså
sub = (Button) findViewById (R.id.kMinus);
Och sist gör du det med din TextView.
display = (TextView) findViewById (R.id.tvSumma);
Under den senaste raden du skrev (TextView) ska du göra en ”OnClickListener” som berättar för knappen vad den ska göra. Skriv
add.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
//TODO Auto-generated method stub
}
});
Glöm inte att importera View. Kopiera det och klistra in så att du får en till ”OnClickListener” men ändra ”add” till ”sub”.
Nu ska vi berätta för knappen vad den ska göra och det gör vi under”//TODO Auto-generated method stub”. Skriv
counter ++;
Detta gör att vi adderar 1 varje gång vi klickar på denna knapp. Nu går vi ner till samma ställe fast för den andra knappen. Fast denna gång skriver du
counter--;
Under
counter++;
skriver du
display.setText(”Your total is ” + counter);
. Skriv samma sak under
counter--;
Detta skriver du för att TextView:n ska kunna skriva ut det du adderar eller subtraherar.
7: Testa den färdiga applikationen
Testa nu att köra appen (högerklicka på projektet, ”run as” och ”Android Application”. Nu borde du ha en simpel miniräknare som kan addera och subtrahera.
Om ni tyckte om guiden får ni gärna gilla! Tar gärna emot feedback.