Inleiding tot Android-ontwikkeling

Mobiletuts + bestrijkt alle grote mobiele platforms - iPhone, Windows, Android en Blackberry. Vandaag zullen we de ontwikkeling van Android bekijken: uitleggen waarom mensen ervoor hebben gekozen om met Android te werken en een overzicht bieden van de Eclipse IDE en de Java-, DDMS- en foutopsporingsperspectieven. Ten slotte leert u hoe u aan de slag kunt met het maken van uw eerste Android-app!

Android 101 zelfstudies:

  • Leer Java voor Android-ontwikkeling: Inleiding tot Java
  • Leer Java voor Android-ontwikkeling: Java Syntax
  • Leer Java voor Android-ontwikkeling: Objecttype controleren met Instanceof
  • Leer Java voor Android-ontwikkeling: werken met arrays
  • Leer Java voor Android Development: Reflection Basics
  • Inleiding tot Android SDK-ontwikkeling
  • Android starten: aan de slag met FortuneCrunch

Wat is Android?

Android is een open source mobiel besturingssysteem dat delen van veel verschillende open source-projecten combineert en bouwt. Wat betekent dit voor jou als ontwikkelaar? U hebt toegang tot de broncode van het platform dat op de telefoon wordt uitgevoerd. Dit kan u helpen beter te begrijpen hoe interfacebedieningen en de verschillende andere werken werken. Als u toevallig een bug vindt, kunt u ook een patch voor het probleem indienen, hoewel dit een meer geavanceerde praktijk is. Google heeft ook een grote groep bedrijven (de Open Handset Alliance) bijeengebracht die beide bijdragen aan en gebruikmaken van het Android-besturingssysteem op hun hardwareapparaten. Dit betekent dat er wereldwijde ondersteuning is voor het besturingssysteem van Google, waarbij brede acceptatie door bekende leveranciers wordt beloofd.

Waarom Android?

Het ontwikkelen van het Android-platform heeft veel voordelen:

  • Geen startkosten om met de ontwikkeling te beginnen. De ontwikkelingshulpmiddelen voor het platform kunnen gratis worden gedownload en Google vraagt ​​slechts een kleine vergoeding om toepassingen op de Android Market te distribueren.
  • Vrijheid om te innoveren. Het Android-besturingssysteem is een open-sourceplatform op basis van de Linux-kernel en meerdere open-sourcebibliotheken. Naast het bouwen van applicaties die op Android-apparaten kunnen worden uitgevoerd, zijn ontwikkelaars vrij om ook een bijdrage te leveren aan of het platform uit te breiden.
  • Vrijheid om samen te werken. Android-ontwikkelaars zijn niet verplicht om een ​​NDA te ondertekenen en worden aangemoedigd om samen te werken en broncode met elkaar te delen. Volgens een onderzoek van Black Duck Software groeide het aantal open source mobiele apps en bibliotheken met 168% van 2008 tot 2009, sneller op Android dan elk ander platform. Dit betekent meer code die u kunt gebruiken in uw eigen projecten om ze sneller op de markt te brengen.
  • Open distributiemodel. Er zijn zeer weinig beperkingen op de inhoud of functionaliteit die is toegestaan ​​in de Android Market van Google en ontwikkelaars zijn vrij om hun applicaties ook via andere distributiekanalen te distribueren.
  • Ondersteuning voor meerdere platforms. Er is een breed scala aan hardwareapparaten mogelijk gemaakt door het Android-besturingssysteem, waaronder veel verschillende telefoons en tabletcomputers. Ontwikkeling voor het platform kan plaatsvinden op Windows, Mac OS of Linux.
  • Ondersteuning voor meerdere providers. Een groot aantal telecombedrijven biedt momenteel Android-telefoons aan.

Vereisten voordat je verder gaat met dit artikel zijn onder meer:

  • U moet de Eclipse IDE downloaden en installeren. Kies de "Eclipse IDE voor Java-ontwikkelaars" keuze.
  • Je moet de Android SDK downloaden en installeren.
  • Installeer de Eclipse plug-in voor Android Development Tools (ADT).

De Eclipse IDE

Eclipse is een complexe, meertalige en uitbreidbare Integrated Development Environment (IDE). De leercurve kan steil zijn, maar de kracht van de omgeving kan uw efficiëntie enorm vergroten.

Nadat u Eclipse voor de eerste keer hebt geopend, selecteert u een werkruimte om uw project in op te slaan. U ziet een introductiescherm met meerdere pictogrammen. Selecteer de "ga naar werkbank" optie, en u krijgt het standaard projectscherm te zien.

Ervan uitgaande dat u de Eclipse ADT-plug-in al hebt geïnstalleerd, moet u de Eclipse voor Android-ontwikkeling configureren door handmatig het bestandspad voor de Android SDK in te stellen. Selecteer om dit te doen Eclipse> Voorkeuren in de hoofdwerkbalk en selecteer vervolgens Android in het dialoogvenster dat verschijnt. Werk de "SDK-locatie" -optie bij om naar de map te wijzen waar u de SDK hebt geïnstalleerd. U moet nu de IDE geconfigureerd hebben voor Android-ontwikkeling.

Het is belangrijk op te merken dat Eclipse iets gebruikt dat "perspectieven" wordt genoemd om veelgebruikte taken te groeperen. Door van perspectief te wisselen, worden delen van het menu en de taakbalken uitgeschakeld en worden aan hen gerelateerde weergaven getoond en verborgen. Perspectieven kunnen worden geopend door op de knop Open perspectief te klikken of door te kiezen Venster> Open perspectief. Sommige perspectieven die u vaak zult gebruiken, zijn onder meer Java, Debugging en DDMS.

Het Java-perspectief

Het Java-perspectief is het standaard perspectief in Eclipse en het is waar u waarschijnlijk het grootste deel van uw tijd zult doorbrengen.

Een van de belangrijkste views in dit perspectief is de Package Explorer-view, standaard gelegen in de linkerkolom van de workbench. Deze weergave is een overzicht van uw hele project. Het toont ook de status van individuele bestanden met betrekking tot compileerproblemen, versiebeheer, enz.

Een andere belangrijke weergave in het Java-perspectief is de weergave Problemen, standaard gelegen in het onderste middenpaneel van de werkbank. Hier vindt u compileerwaarschuwingen en fouten. U kunt dubbelklikken op een item dat rechtstreeks naar de fout in het Java- of XML-bestand moet worden geleid.

Het DDMS-perspectief

DDMS is een afkorting voor Dalvik Debug Monitor Server, die communiceert met de low-level services van een apparaat of emulator. Schakel nu over naar het DDMS-perspectief door te selecteren Venster> Open perspectief> DDMS.

In de weergave Apparaten, in de linkerkolom van de werkbank, ziet u alle Android-apparaten die beschikbaar zijn op uw computer. Dit omvat zowel telefoons die op uw machine zijn aangesloten als emulators die worden uitgevoerd. Onder elk apparaat ziet u alle actieve processen. Er zijn knoppen op de werkbalk in de weergave voor het starten van de foutopsporing in een proces, het verkrijgen van informatie over heaps en threads, het stoppen van processen en het maken van screenshots.

In de weergave Emulatorbeheer, ook in de linkerkolom, kunt u het volgende doen:

  • Stel de status van de spraakverbinding in.
  • Stel de status, snelheid en latentie van de gegevensverbinding in.
  • Simuleer een inkomende oproep of sms vanaf een opgegeven telefoonnummer.
  • Geef een gesimuleerde set punten op voor de GPS via een breedtegraad / lengtegraadspunt of een GPX / KML-bestand.
  • Via de Verkenner-weergave, die als een tabblad in de rechterbovenhoek van de middelste kolom toegankelijk is, kunt u door het bestandssysteem van een apparaat bladeren. Voor een emulator of een geroote telefoon hebt u toegang tot de persoonlijke mappen / gegevens en / systeem. Voor niet-geroote telefoons heeft u alleen toegang tot / sdcard.

    Het foutopsporingsperspectief

    Het foutopsporingsperspectief biedt diepgaande informatie over uw toepassingen. Schakel nu over naar het probleemoplossingsperspectief door te selecteren Venster> Open perspectief> Foutopsporing.

    De foutopsporingsweergave toont u de actieve apps die worden geanalyseerd en, wanneer gestopt op een onderbrekingspunt of uitzondering, ook de oproepstapel van de toepassing. In de weergave Variabelen wordt de inhoud van alle lokale variabelen weergegeven bij het huidige onderbrekingspunt.

    De LogCat-weergave in de rechterbenedenhoek geeft alle logboekuitvoer weer met behulp van de klasse android.util.Log. U kunt filteren op basis van tags of verschillende logniveaus zoals foutopsporing, informatie, fouten, enz.

    Uw eerste aanvraag

    Als u wilt beginnen met het maken van een Android-toepassing, schakelt u terug naar het Java-perspectief en selecteert u Bestand> Menu> Android Project. Als u dit doet, wordt de wizard voor het maken van toepassingen gestart en wordt u gevraagd om meta-informatie over uw project in drie categorieën in te voeren: Inhoud, Build-doel en Eigenschappen.

    Geef de applicatie "DemoApp" een naam en laat het gedeelte Inhoud met alle standaardwaarden.

    De sectie Build Target definieert de versie van de SDK waarop onze demo-app zal worden gecompileerd. Kies voor deze zelfstudie API niveau 4 (Android 1.6) omdat deze op een breed scala aan hardware zal worden uitgevoerd en de API ons in staat zal stellen om verschillende schermresoluties aan te kunnen..

    Het volgende is de sectie Eigenschappen, die de wizard meer informatie geeft over welke klassen moeten worden gegenereerd en hoe ze moeten worden benoemd. De instelling van de toepassingsnaam wordt weergegeven onder het pictogram van de toepassing, evenals de titelbalk van de toepassing wanneer deze wordt gestart. De pakketnaam biedt de basis-Java-naamruimte voor uw gegenereerde klassen. Als u een standaardactiviteit wilt maken, zorgt u ervoor dat Activiteit maken is aangevinkt en geeft u een naam voor de activiteit op. De laatste optie is de Min SDK-versie. Deze waarde bepaalt welke versie van Android op een telefoon moet staan ​​om deze toepassing te kunnen installeren. Dit is over het algemeen ingesteld op hetzelfde API-niveau dat u hebt gekozen onder Opbouwdoel.

    Zodra u al deze informatie hebt ingevoerd en op Voltooien hebt gedrukt, heeft u een eenvoudige "Hello World" -toepassing die bijna klaar is om op een telefoon of een emulator te worden uitgevoerd. Voordat we een emulator instellen en de toepassing uitvoeren, moet u enkele minuten nemen om de gegenereerde standaardsjablooninhoud te onderzoeken:

    Het bestand AndroidManifest.xml

    Het bestand AndroidManifest.xml bevat metagegevens over uw toepassing die het Android-besturingssysteem nodig heeft om de app correct uit te voeren. De naam van de applicatie, die wordt gebruikt voor zowel het app-pictogram als de titelbalk van de activiteit, en het app-pictogram worden gedefinieerd onder Application Attributes. U zult zien dat het veld Naam in feite niet de naamtekst bevat, maar in plaats daarvan "@ string / app_name". Dit is een stringreferentie en kan altijd worden gebruikt als een reeks wordt verwacht. De eigenlijke tekenreekstekst wordt vervolgens gedefinieerd in een van de XML-bestanden gevonden onder de map res / values. De app-maakwizard heeft daar een bestand gegenereerd met de naam strings.xml.

    In het gedeelte Application Nodes worden alle activiteiten voor de toepassing gedefinieerd. De enige activiteit van onze app wordt MainActivity genoemd en wordt hier vermeld.

    De map / res

    In de map Resource worden de meeste toepassingsbronnen opgeslagen. De belangrijkste inhoudscategorieën omvatten tekeningen, lay-outs en waarden.

    Drawables zijn over het algemeen bitmap-afbeeldingen in de vorm van .PNG's. Drawables kunnen ook negen-patch-afbeeldingen zijn, dit zijn .PNG's met speciale gegevens in de afbeelding die Android helpen bij het verbeteren van de taak. Negen geplakte afbeeldingen kunnen worden gemaakt met de negen-patchhulpprogramma's in de SDK of met een hulpprogramma voor het maken van afbeeldingen, zoals Photoshop.

    Lay-outs zijn waar u uw schermen definieert. Als u de XML voor de lay-out op het scherm wilt bekijken, klikt u op het tabblad main.xml.

    Waarden zijn waar u (in XML) uw algemeen gebruikte kleuren, dimensies, tekenreeksen en stijlen definieert. Met het bestand strings.xml kunt u waarden voor uw project toevoegen en bewerken.

    De / gen-map

    Hier wordt code gegenereerd voor alle resources die zijn gedefinieerd in uw resfolder. Op deze manier hebt u toegang tot lay-outs en bedieningselementen die in uw code zijn gedefinieerd.

    De map / src

    De map src bevat al uw aangepaste broncode, gegroepeerd in pakketten. Pakketten zijn er gewoon om u te helpen uw broncode in logische (en beheersbare) groepen in te delen.

    De map / assets

    In de map met items kunt u diverse bestanden opslaan die u als raw-gegevens in uw code moet openen. Alle bestanden in de res-map hebben methodes om de specifieke types te laden, terwijl de enige manier om iets van assets te laden is om het programmatisch te openen als een bestand.

    Een Android virtueel apparaat maken

    Virtuele apparaten maken het mogelijk om uw code uit te voeren en te testen zonder een echte Android-telefoon te bezitten. Omdat er verschillende versies van het besturingssysteem zijn die u kunt targeten, moet u uiteindelijk meerdere versies van virtuele apparaten maken, maar voor nu maken we er een met API-niveau 4 (1.6). U kunt dit doen via de AVD Manager. Selecteer in de hoofdwerkbalk Venster> Android SDK en AVD Manager.

    Nadat u de manager hebt geopend en uw lijst met virtuele apparaten bekijkt, klikt u op de knop "Nieuw" om uw virtuele apparaat te maken.

    Ik noem mijn virtuele apparaten meestal met behulp van het OS-versienummer samen met de vooraf ingestelde resolutie die ik kies, dus in dit geval 1,6-hvga. Het is goed om ook een SD-kaart te maken voor de emulator die ik normaal instel op 16 MB, tenzij ik weet dat ik meer ruimte nodig heb. Klik op de knop Create AVD en u ziet uw apparaat in de lijst.

    Ga je gang en start het virtuele apparaat door het te selecteren en op de knop "Start" te klikken.

    Uw eerste app uitvoeren en debuggen

    Eclipse biedt, samen met de Android Developer Tools, een geweldige omgeving voor foutopsporingstoepassingen. Voor foutopsporing gebruikt u zowel de Debugging- als de DDMS-perspectieven. Het foutopsporingsperspectief wordt gebruikt voor het doorlopen van code, het bekijken van waarden van variabelen en het instellen van onderbrekingspunten. Het DDMS-perspectief wordt gebruikt om de emulator te besturen, threads te bekijken en geheugentoewijzing te bekijken.

    Omdat dit de eerste keer is dat de applicatie wordt uitgevoerd, moeten we iets maken dat we een run-configuratie noemen. Run-configuraties zijn de instellingen die Eclipse gebruikt om uw toepassing uit te voeren (of te debuggen). Elke toepassing kan meerdere configuraties hebben. De ene kan worden ingesteld om altijd te worden geïmplementeerd en op een aangesloten telefoon te worden uitgevoerd, en een andere kan worden ingesteld om alleen in een specifieke emulatorinstantie te worden uitgevoerd. Koppel op dat moment uw telefoon los als u deze toevallig op uw computer hebt aangesloten, zodat u de app eerst op de emulator kunt uitvoeren.

    Als u de run-configuratie wilt maken, selecteert u DemoApp in Package Explorer en kiest u vervolgens Uitvoeren> Uitvoeren vanuit het hoofdmenu. Kies in het volgende dialoogvenster Android-applicatie en klik op OK. De emulator die we eerder hebben gemaakt, zou moeten starten. Wanneer de emulator voor het eerst opstart, kan deze verschijnen met het vergrendelscherm; klik gewoon op het menu om naar uw nieuwe app te gaan. Nu zou je de tekst "Hello World" op het scherm moeten zien!

    Onze volgende stap zal zijn om een ​​breekpunt in te stellen. Open het bestand MainActivity.java door erop te dubbelklikken in Package Explorer. Het bevindt zich onder / src> com.demo.demoapp. Vervolgens, op de regel die bevat:

"Super.onCreate (savedInstanceState)"

dubbelklik in de grijze kolom links van de regel (waar u de blauwe cirkel ziet in de onderstaande schermafbeelding). Als je succesvol was, zou er nu een blauwe cirkel moeten zijn die het breekpunt aangeeft.

Schakel nu naar het probleemoplossingsperspectief door te selecteren Venster> Open perspectief> Foutopsporing . Selecteer om de toepassing te debuggen Uitvoeren> Debug.

In de foutopsporingsweergave zou u een lijst met items onder DalvikVM / Thread moeten zien. Dit is de call-stack omdat we nu zijn gestopt bij het breekpunt dat we eerder hebben ingesteld. De weergave Variabelen toont alle lokale variabelen op het huidige breekpunt. U kunt het item "dit" uitbreiden om alle waarden van onze instantie MainActivity te bekijken.

Ten slotte geeft LogCat alle logboekinformatie weer die afkomstig is van de emulator.

Als u de app wilt blijven gebruiken, kunt u de werkbalk gebruiken in de foutopsporingsweergave (zoals te zien in de schermafbeelding hierboven) of dezelfde acties kiezen in het uitvoeringsmenu. Kiezen Uitvoeren> Doorgaan om de app door te laten gaan.

Conclusie

Deze tutorial nam je mee door de verschillende delen van Eclipse en ADT die je moet kennen om Android-ontwikkeling te starten. Hoewel we de details van de broncode van de toepassing niet hebben behandeld, is het belangrijk om te beginnen met een goed begrip van de hulpmiddelen die u tijdens de ontwikkeling elke dag zult gebruiken. In de komende artikelen gaan we dieper in op het schrijven van steeds complexere applicaties en het creëren van een aantrekkelijke gebruikersinterface.

Gerelateerde tutorials:

  • Leer Java voor Android-ontwikkeling: Inleiding tot Java
  • Leer Java voor Android-ontwikkeling: Java Syntax
  • Android starten: aan de slag met FortuneCrunch
  • Gemeenschappelijke Android-apparaatconfiguraties
  • Kaarten in-app starten
  • Gebruikers in staat stellen in-app e-mail te verzenden
  • Waarschuwingen, Toasts en Meldingen gebruiken
  • Eenvoudige gebruikersformulieren maken