Introduktion till Android utveckling

Mobiletuts + kommer att täcka alla stora mobila plattformar - iPhone, Windows, Android och Blackberry. Idag tar vi en titt på Android-utveckling: förklarar varför människor har valt att arbeta med Android och ger en översikt över Eclipse IDE och dess Java, DDMS och felsökningsperspektiv. Slutligen lär du dig hur du börjar göra din första Android-app!

Android 101 handledning:

  • Lär dig Java för Android-utveckling: Introduktion till Java
  • Lär dig Java för Android-utveckling: Java Syntax
  • Lär dig Java for Android Development: Kontrollera objekttyp med Instanceof
  • Lär dig Java för Android Utveckling: Arbeta med Arrays
  • Lär dig Java för Android Development: Reflektion Basics
  • Introduktion till Android SDK Development
  • Börja Android: Komma igång med FortuneCrunch

Vad är Android?

Android är ett operativsystem med öppen källkod som kombinerar och bygger på delar av många olika open source-projekt. Vad betyder detta för dig som utvecklare? Du har tillgång till källkoden på plattformen som körs i telefonen. Detta kan hjälpa dig att bättre förstå hur gränssnittskontroller och de olika andra bitarna fungerar. Om du råkar hitta en bugg kan du också skicka in en korrigeringsfil för problemet, även om det här är en mer avancerad praxis. Google har också dragit ihop en stor grupp av företag (kallad Open Handset Alliance) som både bidrar till och använder Android OS i sina hårdvaruenheter. Det betyder att det finns ett brett stöd från hela världen för Googles operativsystem, lovande bred adoption via kända leverantörer.

Varför Android?

Det finns många fördelar med att utveckla för Android-plattformen:

  • Nollstartskostnader för att börja utveckla. Utvecklingsverktygen för plattformen kan laddas ner, och Google tar bara ut en liten avgift för att distribuera program på Android Market.
  • Frihet att uppfinna. Android OS är en öppen källplatform baserad på Linux-kärnan och flera bibliotek med öppen källkod. Utöver att bygga applikationer för att köras på Android-enheter, är utvecklare fritt att bidra till eller utöka plattformen också.
  • Frihet att samarbeta. Android-utvecklare behöver inte signera en NDA och uppmuntras att samarbeta och dela källkod med varandra. Enligt en undersökning av Black Duck Software växte antalet mobilappar och bibliotek i öppen källkod med en hastighet på 168% från 2008 till 2009, snabbare på Android än någon annan plattform. Det betyder mer kod som du kan återanvända i dina egna projekt för att få dem till marknaden mycket snabbare.
  • Öppna distributionsmodell. Mycket få begränsningar läggs på innehållet eller funktionaliteten som tillåts i Googles Android Market, och utvecklare kan också distribuera sina applikationer via andra distributionskanaler också.
  • Multi-platform support. Det finns en mängd olika hårdvaruenheter som drivs av Android OS, inklusive många olika telefoner och surfplattor. Utveckling för plattformen kan ske på Windows, Mac OS eller Linux.
  • Multi-carrier support. Ett stort antal telekomföretag erbjuder för närvarande Android-telefoner.

Förutsättningar innan du fortsätter med den här artikeln är:

  • Du måste ladda ner och installera Eclipse IDE. Välj den "Eclipse IDE för Java-utvecklare" alternativ.
  • Du måste hämta och installera Android SDK.
  • Installera Android Development Tools (ADT) Eclipse-plugin.

Eclipse IDE

Eclipse är ett komplext, flerspråkigt och utvidgat integrerat utvecklingsmiljö (IDE). Inlärningskurvan kan vara brant, men kraften i miljön kan kraftigt öka effektiviteten.

Efter att du öppnat Eclipse för första gången, välj ett arbetsområde för att spara ditt projekt inom. Du kommer att se en introduktionsskärm med flera ikoner. Välj alternativet "gå till arbetsbänk", och du kommer att presenteras med standardprojektskärmen.

Om du antar att du redan har installerat Eclipse ADT-plugin måste du konfigurera Eclipse for Android-utveckling genom att manuellt ställa in filfilen för Android SDK. För att göra detta, välj Eclipse> Inställningar från huvudverktygsfältet och välj sedan Android från dialogrutan som visas. Uppdatera alternativet "SDK Location" för att peka på katalogen där du installerade SDK. Du borde nu ha IDE-konfigurationen för Android-utveckling.

Det är viktigt att notera att Eclipse använder något som kallas "perspektiv" för att gruppera vanliga uppgifter. Omkopplingsperspektiv kommer att byta ut delar av menyn och verktygsfält och visa och dölja visningar som är relaterade till dem. Perspektiv kan öppnas genom att klicka på knappen Öppna perspektiv eller genom att välja Fönster> Öppet perspektiv. Några perspektiv som du ofta kommer att använda inkluderar Java, Debugging och DDMS.

Java-perspektivet

Java-perspektivet är standardperspektivet i Eclipse, och det är där du förmodligen kommer att spendera större delen av din tid.

Bland de viktigaste vyerna i detta perspektiv är paketet Explorer Explorer, som standard placerat i arbetsbänken till vänster. Denna vy är en översikt över hela ditt projekt. Det visar också tillstånden för enskilda filer med avseende på kompilera problem, versionskontroll, etc..

En annan viktig vy i Java-perspektivet är Problemvy, som standard ligger i arbetsbänkens nedre mittpanel. Här hittar du kompilerade varningar och fel som anges. Du kan dubbelklicka på ett objekt som ska tas direkt till felet i Java- eller XML-filen.

DDMS perspektivet

DDMS är förkortat för Dalvik Debug Monitor Server, som kommunicerar med en enhet eller emulator på låg nivå. Byt till DDMS-perspektivet nu genom att välja Fönster> Öppna perspektiv> DDMS.

Apparatens vy, som finns i den vänstra kolumnen på arbetsbänken, är där du kommer att se vilka Android-enheter som är tillgängliga för din dator. Detta inkluderar både telefoner kopplade till din maskin och löpande emulatorer. Under varje enhet ser du alla körprocesser. Det finns verktygsfältsknappar i vyn för att starta felsökaren på en process, få information om höjder och trådar, stoppa processer och ta skärmdumpar.

Emulatorkontrollvyn, även i den vänstra kolumnen, gör att du kan göra följande:

  • Ställ in röstanslutningens status.
  • Ange dataanslutningens status, hastighet och latens.
  • Simulera ett inkommande samtal eller SMS från ett medföljande telefonnummer.
  • Ge en simulerad uppsättning punkter för GPS via en latitud / longitud-punkt eller GPX / KML-fil.
  • Med hjälp av File Explorer-vyn, tillgänglig som en flik högst upp till höger i mittenkolumnen, kan du bläddra i filsystemet på en enhet. För en emulator eller en rotad telefon har du tillgång till privata kataloger / data och / system. För icke-roterade telefoner har du bara tillgång till / sdcard.

    Debugging Perspective

    Felsökningsperspektivet kommer att ge djupgående information om dina applikationer. Byt till debugging perspektivet nu genom att välja Fönster> Öppna perspektiv> Felsökning.

    Debug-vyn visar dig de körbara programmen som analyseras och, när de stoppas på en brytpunkt eller ett undantag, samtalsstapeln i programmet också. Variablerna visar innehållet i lokala variabler vid den aktuella brytpunkten.

    LogCat-vyn i nedre högra hörnet visar all loggutmatning med android.util.Log-klassen. Du kan filtrera baserat på taggar eller olika loggnivåer som debug, information, fel mm.

    Din första ansökan

    För att börja skapa en Android-applikation, växla tillbaka till Java-perspektivet och välj Arkiv> Meny> Android-projekt. Om du gör det startar du programguiden och du blir uppmanad att ange metadata om ditt projekt i tre kategorier: Innehåll, Bygg mål och Egenskaper.

    Namn ansökan "DemoApp" och lämna innehållsavsnittet med alla standardvärden.

    Avsnittet Build Target definierar den version av SDK som vår demo-app kommer att kompileras mot. För denna handledning väljer du API-nivå 4 (Android 1.6) eftersom den kommer att köras på ett brett utbud av hårdvara och API: n tillåter oss att hantera olika skärmupplösningar.

    Nästa är avsnittet Egenskaper, som ger guiden mer information om vilka klasser som ska genereras och vad de ska namnges. Inställningen för programnamn visas under programikonen, liksom programmets titelfält när den startas. Paketnamnet ger basen Java-namnrymden för dina genererade klasser. För att skapa en standardaktivitet, se till att Skapa aktivitet är markerad och ge ett aktivitetsnamn. Det sista alternativet är Min SDK-versionen. Det här värdet bestämmer vilken version av Android som behöver vara på en telefon för att den här applikationen ska kunna installeras. Detta är generellt inställt på samma API-nivå som du valde under Build Target.

    När du har angett all denna information och klickar på Slutför, kommer du att ha en grundläggande "Hello World" -program som är nästan redo att köras på en telefon eller en emulator. Innan vi installerar en emulator och kör programmet, ta några minuter för att undersöka det genererade standardmallinnehållet:

    AndroidManifest.xml-filen

    AndroidManifest.xml-filen ger metadata om din ansökan att Android OS måste köra appen korrekt. Namnet på programmet, som används för både appikonen och aktivitetsrubriken och appikonen, definieras under Applikationsattribut. Du kommer märka att fältet Namn inte innehåller namneteksten, men "@ string / app_name" istället. Detta är en strängreferens och kan användas närhelst en sträng förväntas. Den faktiska strängtexten definieras sedan i en av XML-filerna som finns i mappen res / values. Appskapsguiden skapade en fil där det kallades strings.xml.

    I avsnittet Application Nodes är alla aktiviteter definierade för applikationen. Vår apps enda aktivitet heter MainActivity och listas här.

    Mappen / res

    Res-mappen är där de flesta programresurser lagras. Huvudinnehållskategorierna inkluderar drag, layouter och värden.

    Drawables är i allmänhet bitmaps bilder i form av. PNGs. Drawables kan också vara nio-patch-bilder, som är .PNGs med speciella data i bilden som hjälper Android att göra ett bättre jobb när man sträcker bilden. Nio-patch-bilder kan skapas med nio-patchverktygen i SDK, eller med ett bildverktyg som Photoshop.

    Layouts är där du definierar dina skärmar. Om du vill visa XML för layouten på skärmen klickar du på fliken main.xml.

    Värden är där du definierar (i XML) dina globalt använda färger, dimensioner, strängar och stilar. Filen strings.xml kan du lägga till och redigera värden för ditt projekt.

    Gen / mappen

    Det är här där kod genereras för alla resurser som definieras i din resmapp. Så här får du tillgång till layouter och kontroller som är definierade i din kod.

    Mappen / src

    Src-mappen innehåller all din anpassade källkod, gruppad i paket. Paket är helt enkelt där för att hjälpa till att kategorisera källkoden till logiska (och hanterbara) grupper.

    Mappen / tillgångar

    Aktivitetsmappen är en plats för att lagra diverse filer som du behöver komma åt i din kod som rådata. Alla filer i resmappen har metoder för att ladda specifika typer, medan det enda sättet att ladda något från tillgångar är att programmera det som en fil.

    Skapa en Android Virtual Device

    Virtuella enheter gör det möjligt att köra och testa din kod utan att äga en faktisk Android-telefon. Eftersom det finns flera olika versioner av operativsystem som du kan rikta dig till måste du skapa flera versioner av virtuella enheter, men för närvarande skapar vi en som använder API-nivå 4 (1.6). Du kan göra detta via AVD Manager. Från huvudverktygsfältet, välj Fönster> Android SDK och AVD Manager.

    När du har öppnat chefen och tittar på din lista över virtuella enheter klickar du på knappen "Ny" för att skapa din virtuella enhet.

    Jag heter generellt mina virtuella enheter med OS-versionsnumret tillsammans med den förinställda upplösningen som jag väljer, så i detta fall 1,6-hvga. Det är bra att även skapa ett SD-kort för emulatorn som jag vanligtvis ställer till 16 MB, om jag inte vet att jag behöver mer utrymme. Klicka på Skapa AVD-knappen och du kommer att se din enhet listad.

    Gå vidare och starta den virtuella enheten genom att välja den och klicka på "Start" -knappen.

    Running & Debugging Your First App

    Eclipse, tillsammans med Android Developer Tools, erbjuder en bra miljö för felsökningsapplikationer. För debugging använder du både Debugging och DDMS perspektiv. Felsökningsperspektivet kommer att användas för att gå igenom kod, visa värden för variabler och inställning av brytpunkter. DDMS-perspektivet kommer att användas för att styra emulatorn, visa trådar och visa minnesallokering.

    Eftersom det här är vår första gången som kör programmet måste vi skapa något som kallas en körkonfiguration. Kör konfigurationer är de inställningar som Eclipse kommer att använda för att köra (eller felsöka) din ansökan. Varje applikation kan ha flera konfigurationer. Man kan vara inställd att alltid distribuera och köra på en bifogad telefon, och en annan kan vara inställd för att bara köras i en specifik emulatorinstans. Koppla ifrån din telefon vid det här tillfället om du råkar ha den ansluten till din maskin så att du kan se att appen körs på emulatorn först.

    För att skapa körkonfigurationen, välj DemoApp i Package Explorer och välj sedan Kör> Kör från huvudmenyn. I nästa dialogruta väljer du Android-program och klickar på OK. Emulatorn som vi skapade tidigare bör starta. När emulatorn först börjar, kan den visas med låsskärmen. klicka bara på menyn som ska tas till din nya app. Nu ska du se texten "Hello World" på skärmen!

    Vårt nästa steg är att ställa in en brytpunkt. Öppna filen MainActivity.java genom att dubbelklicka på den i paketutforskaren. Det ligger under / src> com.demo.demoapp. Därefter på linjen som innehåller:

"Super.onCreate (savedInstanceState)"

dubbelklicka i den grå kolumnen till vänster om raden (där du ser den blå cirkeln på skärmbilden nedan). Om du lyckades skulle det nu vara en blå cirkel som indikerar brytpunkten.

Växla nu till felsökningsperspektivet genom att välja Fönster> Öppna perspektiv> Felsökning . För att felsöka programmet, välj Kör> Felsökning.

I debug-vyn bör du se en lista över artiklar under DalvikVM / Thread. Det här är samtalstapeln eftersom vi nu är stoppade vid den brytpunkt vi ställde tidigare. Variablerna visar alla lokala variabler vid den aktuella brytpunkten. Du kan expandera objektet "this" för att se alla värden i vår MainActivity-förekomst.

Slutligen kommer LogCat att visa all loggningsinformation som kommer från emulatorn.

För att fortsätta att köra appen kan du använda verktygsfältet i felsökningsvyn (som det ses i skärmbilden ovan) eller välja samma åtgärder från körmenyn. Välja Kör> Fortsätt för att låta appen fortsätta springa.

Slutsats

Denna handledning tog dig igenom de olika delarna av Eclipse och ADT som du behöver känna till för att börja Android utveckling. Även om vi inte täckte detaljerna i programkällkoden är det viktigt att börja med en stark förståelse för de verktyg du kommer att använda varje dag under utveckling. I kommande artiklar fortsätter vi att gräva djupare i att skriva progressivt komplexa applikationer och skapa ett övertygande användargränssnitt.

Relaterade handledning:

  • Lär dig Java för Android-utveckling: Introduktion till Java
  • Lär dig Java för Android-utveckling: Java Syntax
  • Börja Android: Komma igång med FortuneCrunch
  • Vanliga Android Virtual Device Configurations
  • Starta Maps In-App
  • Aktivera användare att skicka e-post in-app
  • Använda varningar, skålar och meddelanden
  • Skapa enkla användarformulär