Premiär! Fyndchans i SweClockers Månadens Drop

Guide: Android programmering för nybörjare!

Permalänk
Medlem

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.

Permalänk

Mer!

Visa signatur

"If at first you don't suceed, cheat!" -Richard Muthwill

Permalänk
Medlem

Fantastiskt vilket arbete du har lagt ner på denna guide...
Är själv ingen programmerare utan det enda är väl lite basic i skolan. Men har ganska länge vart nyfiken och lite intresserad av just programmering.
Sådana här guider ger inspiration Alex...

Keep up the good work!

Permalänk
Medlem
Skrivet av AceRiiich:

Om jag får lite fler tryck på gilla så att jag vet att guiden uppskattas av fler, då blir det mer!

Skrivet av bikerrog:

Fantastiskt vilket arbete du har lagt ner på denna guide...
Är själv ingen programmerare utan det enda är väl lite basic i skolan. Men har ganska länge vart nyfiken och lite intresserad av just programmering.
Sådana här guider ger inspiration Alex...

Keep up the good work!

Tack! Säg gärna till om du har använt/kommer använda dig av guiden och ifall du stöter på något konstigt så att jag kan förbättra den!

Permalänk
Medlem

Grym guide Alex! Den blev det ett stort gilla på

Visa signatur

🎮 ASUS RTX 3080 STRIX • i7-13700K • Define 7 • ASUS B660-PLUS D4 ⌨ 64GB DDR4 3600MHZ 💿 4TB NVMe
🖥️ Acer Predator 43" CG437KP 120hz 🖥️ 2 x LG 43" 43UN700

📹 Mitt skrivbord 🎬 Mitt biorum

Permalänk
Medlem

Helt awesome!! Precis vad jag behövde för att komma igång lite. Mycket bra skrivet och underbart att få det på svenska!

Tusen tusen tack!

Permalänk
Medlem
Skrivet av radx:

Grym guide Alex! Den blev det ett stort gilla på

Skrivet av maxpeed:

Helt awesome!! Precis vad jag behövde för att komma igång lite. Mycket bra skrivet och underbart att få det på svenska!

Tusen tusen tack!

Tack så mycket! Det är verkligen kul att se hur folk uppskattar guiden.

Blir en fortsättning snart, när jag har tid och inte jobbar. Men fortsätt gilla för att visa att ni uppskattar guiden!

Permalänk
Medlem

Ett tips kan vara skaffa dropbox eller liknande, så slipper man hålla på med kabel när man vill testa på telefonen

filen man vill ha på telefonen ligger i < projektets namn>/bin/<projektets namn>.apk

dock måste man tillåta usb felsökning på telefonen.

Permalänk
Medlem

Trevligt, you have my gilla!

Blir sugen att knacka ihop något, då det var många långa år sedan jag gjorde något i Java.

Visa signatur

5950X, 3090

Permalänk

Bigup för en rakt på "skyll-inte-på-att-du-är-korkad-vem-som-helst-kan-göra-det-här" tutorial.
början med DL och installation av programmen gå att korta lite dock, behöver mest bara stå vilka prog vart dom ska och om det behövs göra någon speciell inställning....det är ju snällt med en grundlig genomgång men om någon inte fixar att ta hem och installera grund programmen så kvittar resten då bör dom inte ge sig på själva kod biten heller el, har jag fel?;) men den var tydlig och lätt att följa. härifrån räcker det med länk hit så kan du fokusera på kod biten om du skriver något mer, vilket jag verkligen hoppas för du har verkligen känslan som behövs för att skriva så folk förstår. större delen av alla skolböcker mm jag någonsin läst är klart mycket sämre skrivna så ser fram emot en fortsättning från dig.

Permalänk
Hedersmedlem

Mycket bra guide, snyggt jobbat!

Permalänk
Medlem

Tack för en bra och tydlig guide!

När jag försökt börja programmera till Android tidigare och följt guiden på officiella androidsidan har jag fastnat på att starta en ny activity vid knapptryck. Ska efter detta försöka igen och se vad jag gör fel!

Permalänk
Medlem
Skrivet av ZheatoZ:

Ett tips kan vara skaffa dropbox eller liknande, så slipper man hålla på med kabel när man vill testa på telefonen

filen man vill ha på telefonen ligger i < projektets namn>/bin/<projektets namn>.apk

dock måste man tillåta usb felsökning på telefonen.

Visst kan man göra så om man känner för det men jag tycker att det är smidigare med tre klick och sedan installeras applikationen automatiskt. Dock måste man ha sladd då men känner att det är värt det för att slippa böka om kring först på datorn och sedan behöva installera appen på telefonen. Men det är upp till en själv vad man tycker om mest. Men tack för tipset till tråden, är faktiskt bra för vissa att veta!

Skrivet av DaddyGrief:

Bigup för en rakt på "skyll-inte-på-att-du-är-korkad-vem-som-helst-kan-göra-det-här" tutorial.
början med DL och installation av programmen gå att korta lite dock, behöver mest bara stå vilka prog vart dom ska och om det behövs göra någon speciell inställning....det är ju snällt med en grundlig genomgång men om någon inte fixar att ta hem och installera grund programmen så kvittar resten då bör dom inte ge sig på själva kod biten heller el, har jag fel?;) men den var tydlig och lätt att följa. härifrån räcker det med länk hit så kan du fokusera på kod biten om du skriver något mer, vilket jag verkligen hoppas för du har verkligen känslan som behövs för att skriva så folk förstår. större delen av alla skolböcker mm jag någonsin läst är klart mycket sämre skrivna så ser fram emot en fortsättning från dig.

Jo jag vet att början är väldigt förklarande och jag kände under tiden jag skrev den att folk vet förmodligen redan hur man ska göra detta men det är trots allt en guide som alla ska kunna ta del av, oavsett tidigare kunskaper inom programmering eller själv nedladdningsprocessen. Tänkte att jag skulle kunna erbjuda guiden till en lite större målgrupp ifall alla förstod sig på den. Om man redan förstår hur man ska installera allt så kan man faktiskt hoppa över den delen. Men jag kan i fortsättningen öka nivån ett snäpp gällande dessa bitar. Om någon känner något annat t.ex. att jag ska fortsätta vara väldigt utförlig, skriv det här då.

Och till alla andra som uppskattat tråden, tusen tack för att ni visar eran uppskattning! Det gör att jag verkligen vill fortsätta. Och ni andra som inte gillat tråden än, GILLA!

Permalänk
Medlem
Skrivet av alexm95:

Visst kan man göra så om man känner för det men jag tycker att det är smidigare med tre klick och sedan installeras applikationen automatiskt. Dock måste man ha sladd då men känner att det är värt det för att slippa böka om kring först på datorn och sedan behöva installera appen på telefonen. Men det är upp till en själv vad man tycker om mest. Men tack för tipset till tråden, är faktiskt bra för vissa att veta!

Speciellt om man som mig sitter vid fler datorer, jag sitter hemma vid min stationära dator[64bit] och på skolan med bärbara[32bit] funkar jätte bra och ha koden på 1 ställe så slipper man ändra det oxå.. och debuggen som man har i programmet förstår jag mig ändå inte på.. ibland får man så konstiga fel meddelanden att det blir och testa sig fram vad felet är. har även jobbat i projekt med dropbox (men då får man se upp så man inte är inne i samma fil som kompisen jobbar med)

(dock gäller det att man installerar android sdk på samma ställe på alla datorer man vill jobba med) ända nackdel jag ser är man förlorar debuggen.. (fel koden när programmet crashar)

edit:
blir inga böka på datorn eller telefonen, installerar appen för dropbox på telefonen sen så är det 1 tryck från den appen när du gått in i rätt mapp) sen så blir det ungefär lika dant som man installerar en app i vanliga fall.

Permalänk
Medlem

Riktigt bra guide! Ska testas!

Permalänk
Medlem
Skrivet av Rasmys:

Riktigt bra guide! Ska testas!

Tack! Säg till om du stöter på något problem.

Permalänk
Medlem

OTROLIGT BRA GUIDE! förtjänar att vinna! lätt! har gillat! lycka till nu

Visa signatur

Lea här ^-^/
25, gym, kläder, bilar. Liite elektronik 👀

Permalänk
Medlem
Skrivet av ItsLea:

OTROLIGT BRA GUIDE! förtjänar att vinna! lätt! har gillat! lycka till nu

Tack så mycket!! Det betyder otroligt mycket med eran positiva respons på guiden.

Permalänk
Medlem
Skrivet av alexm95:

Tack så mycket!! Det betyder otroligt mycket med eran positiva respons på guiden.

inga problem!:)

Visa signatur

Lea här ^-^/
25, gym, kläder, bilar. Liite elektronik 👀

Permalänk
Geeks
SweClockers

#8 - Vinnare!

Visa signatur

» Kontakta oss » SweClockers på Facebook » SweClockers på Youtube » Blips of SweClockers (Spotify)
» Pappa till Moderskeppet » SweClockers chefredaktör 2007–2015

Permalänk
Medlem

Riktigt bra,,
grymt imponerad..
då önskar jag en guide om hur man gör sina egna teman..
fan,, dubbelimponerad..

Visa signatur

Det är inget fel med att göra misstag när man är "nybörjare", det kan bara bli väldigt dyrt..

Permalänk
Medlem

Hallå!
Skulle behöva lite hjälp med mitt program/spel som jag försöker skapa. Det hela ser ut såhär:
http://fuskbugg.se/dl/Mw608x/Namnls.png
Min tanke är att man skall klicka på varje karaktär, dvs varje enskild radiobutton( har satt int värden för deras olika dmg ), sen skall man trycka på roll så skall en slumpgenerator slumpa ut hur många du skall få. Det skall visas till höger om bilderna där det står "Info1" osv.
Sen när man valt och slumpat alla karaktärer så att man har fått alla sina slagkämpar så skall man trycka på "End turn and fight", då byter den bild och man får då se om man vinner eller förlorar i en animation(vilket jag skall göra senare)att man då har fått boten att slumpa hur många den har fått, den sammanlagda dmg läggs ihop och den som har mest vinner.

Men det jag har problem med just nu är att fundera ut hur jag skall få en fungerande slumpgenerator att slumpa fram hur många av den valda karaktären man skall få fram, jag hade tänkt mig mellan 1-8 stycken. Och sen att det skall visas i en TextView hur många man fått!
Ber om ursäkt om min förklaring är lite rörig!
Är tacksam för all hjälp!

Permalänk
Medlem

I demand more

Permalänk
Inaktiv

Har det gjorts några fler guider eller tog det stopp här?

EDIT: Väldigt bra skrivet, riktigt fin guide TS!

Permalänk
Medlem

Länken https://dl-ssl.google.com/android/eclipse/%E2%80%9D fungerar inte. Någon som har ny länk?

Permalänk
Medlem
Skrivet av mhj:

Länken https://dl-ssl.google.com/android/eclipse/%E2%80%9D fungerar inte. Någon som har ny länk?

https://www.eclipse.org/downloads/

Gissar att det du söker finns här. Däremot använder jag inte Eclipse själv så är jag fel ute får nån gärna korrigera mig =p

/Jhonny

Permalänk
Medlem
Skrivet av JhLi:

https://www.eclipse.org/downloads/

Gissar att det du söker finns här. Däremot använder jag inte Eclipse själv så är jag fel ute får nån gärna korrigera mig =p

/Jhonny

Det löste sig tack!