Programutveckling för Android

Programutveckling för Android är en arbetsmetod för att skapa mobilapplikationer och annan programvara för Android. Vanligtvis skrivs applikationerna i Java där man använder Androids utvecklingsmiljö men andra utvecklingsmiljöer är också tillgängliga. Sedan oktober 2012 har mer än 700 000 applikationer blivit utvecklade för Android med över 25 miljarder nedladdningar. En undersökning under juni 2011 indikerade att över 67 % av alla mobilutvecklare använde sig av plattformen. Under andra kvartalet 2012 blev runt 105 miljoner enheter av Android smarttelefoner skeppade vilket utgjorde cirka 68  % av smarttelefonförsäljningen under det kvartalet.

Utvecklingsverktyg

Android SDK
Androids utvecklingsmiljö (SDK) består av ett omfattande antal utvecklingsverktyg. Dessa omfattar bl.a. avlusare, bibliotek, enhetsemulator (baserad på QEMU), dokumentation, exempelkod och självstudiekurs. I dagsläget finns stöd för utvecklingsplattformar som använder operativsystem såsom Linux (någon modern distribution),   eller senare, samt Microsoft  eller senare. Den officiella integrerade utvecklingsmiljön som stödjer Android är Eclipse (för närvarande version 3.5 eller 3.6) som använder sig av utvecklingsverktyget Android Development Tools (ADT) Plugin.

Android Development Tools
Android Development Tools är ett insticksprogram till utvecklingsverktyget eclipse. Det används för att skapa appar till androider.

Native Development Kit
Programbibliotek skrivna i programspråket C eller annat dataspråk kan kompileras till körbar kod (native) för ARM-processorn och installeras genom att använda bibliotek för Android Native Development Kit. Nativeklasser kan anropas inifrån javakod som körs under Dalvik VM genom att kalla "System.loadLibrary", som är en del av de klasser som finns i standard-Android.

Android Open Accessory Development Kit ADK
Android 3.1-plattformen (även anpassad för Android 2.3.4 och senare) introducerade stöd för Android Open Accessory Development Kit, vilket möjliggör att en extern USB-hårdvara (Android USB tillbehör) att interagera med en Android-driven enhet i ett speciellt "tillbehör"släge. När en Android-driven enhet är i tillbehörsläge fungerar det anslutna tillbehöret som en USB host och den Android-drivna enheten fungerar som en USB-enhet. Android USB tillbehör är speciellt utformad för att fästa Android-drivna enheter och följa ett enkelt protokoll (Android accessory protocol) som tillåter dem att upptäcka Android-drivna enheter som stöder tillbehörsläget.

SDL 
SDL-biblioteket erbjuder en utvecklingsmöjlighet förutom Java, som möjliggör programutveckling med C och enkel portering av befintliga SDL och nativa C-program.  Genom insättning av en liten Java shim och Java Native Interface (JNI), blir direkt användning av SDL-kod möjlig.

Historia
Android skapades av Open Handset Alliance som leds av Google.

Utbildning
Utbildning till applikationsutvecklare inom operativsystemet Android finns både som kurser och hela utbildningar som går igenom datatekniken från grunden. Förkunskapskraven varierar från inga alls till vana inom datateknik. Exempel på kurser och utbildningar i Sverige är:
 Borlänge: Högskolan Dalarna Applikationsutveckling för mobila Android-enheter. 
 Gotland: Högskolan Gotland: Mobil programmering för Android.
 Jönköping: Jönköping University: Mjukvaruutveckling och mobila plattformar.
 Kalmar/Växjö: Linneuniversitetet Android för Javaprogrammerare.
 Luleå: Luleå universitet Spel och applikationsutveckling på Android.
 Sundsvall: Mittuniversitetets program för Mobila applikationer och nätverkstjänster för Android.
 Sundsvall: Mittuniversitetets kurs Datateknik GR (B), Applikationsutveckling för Android, 7,5 hp.
 Örebro: Tullängsskolan Applikationsutveckling för mobiltelefoner med inriktning mot operativsystemet Android.

Källor

Android (operativsystem)
Programspråket Java