Androidi tarkvara arendus

Allikas: Vikipeedia
Android 4.0

Androidi tarkvara arendus on protsess, mille käigus luuakse uut tarkvara Androidi operatsioonisüsteemile. Rakendusi luuakse enamasti Javas, kasutades Android SDK-d (Software Development Kit – tarkvararenduspakett)[1].

21. september 2013 seisuga oli loodud üle 850 000 Androidi rakenduse, viimasel aastal loodi keskmiselt 20 000 uut programmi kuus.[2]

Tarkvaraarenduse tööriistad[muuda | redigeeri lähteteksti]

Android SDK[muuda | redigeeri lähteteksti]

Eclipse IDE

Android Software Development Kit (Androidi tarkvaraarenduspakett) sisaldab rakendusliidese teeke (API libraries) ning vajalikke tööriistu rakenduste kompileerimiseks, testimiseks ning silumiseks. Lisaks on seal veel Androidi emulaator, dokumentatsioon, näited ning õpetused rakenduste loomiseks. Android Software Development Kit vajab töötamiseks Windows XP-d või uuemat, Mac OS X 10.5.8 või uuemat (toetatud on ainult 32-bitine operatsioonisüsteem) või Linuxit (toetatud on kõik kaasaegsed Linuxi töölaua distributsioonid).

Ametlikult toetatud arendustööriistaks on Eclipse IDE (Integrated Development Environment – integreeritud programmeerimiskeskkond), millele on lisatud ADT (Android Development Tools – Androidi arendustööriistad) pistikprogramm.[3]

Androidi rakendused on pakitud .apk-faili, mis sisaldab .dex-faili (Dalvik Executable) ning vajalikke lisafaile programmi tööks (näiteks pildid või helifailid). .dex-fail on lihtsalt kompileeritud lähtekood.[4]

Android Debug Bridge[muuda | redigeeri lähteteksti]

Android Debug Bridge (adb) on käsurea tööriist, mis võimaldab suhtlust nii emulaatori kui ka füüsilise Androidi seadmega. Tegemist on klient-server-tarkvaraga, millel on kolm osa:

  • Klient – töötab arvutil, millel tarkvara arendatakse.
  • Servertaustaprotsess arvutis, mis haldab ühendust arvuti ning Androidi seadme või emulaatori vahel.
  • Daemon (Disk and Execution Monitor – ketta- ja täitmismonitor) – taustaprotsess Androidi seadmes või emulaatoris.

Adb tööriist asub kaustas: <sdk>/platform-tools/ ning käskude üldkuju on:[5]

$ adb [-d|-e|-s <serialNumber>] <command>

Native Development Kit[muuda | redigeeri lähteteksti]

Tarkvarapaketti Native Development Kit kasutatakse selleks, et jooksutada Androidi seadmetel lisaks Javas kirjutatud programmidele ka C-s ja teistes keeltes kirjutatud rakendusi. Programme saab kompileerida tarkvaraga, mis lubab valida, millisele platvormile programm mõeldud on. Programmi paigaldamiseks kasutatakse adb-tööriista.[6]

Näide programmi kompileerimisest ja paigaldamisest:

$ arm-none-linux-gnueabi-gcc -static hello.c -o hello #Koodi kompileerimine
$ adb push hello/hello data/hello                     #Koodi laadimine seadmesse
$ adb shell data/hello                                #Koodi käivitamine
Hello, Android!                                       #Programmi väljund

Accessory Development Kit[muuda | redigeeri lähteteksti]

Tarkvarapakett Accessory Development Kit on mõeldud kasutamiseks nii professionaalsetele riistvaratootjatele kui ka hobielektroonikutele, kes soovivad luua lisaseadmeid Androidi seadmetele. Accessory Development Kit teek on loodud, et muuta lisaseadmete suhtlus seadmega lihtsamaks. Lisariistvara kasutab suhtluseks Android Open Accessory (AOA) protokolli, mis töötab nii üle USB kui ka Bluetoothi.[7]

MIT App Inventor[muuda | redigeeri lähteteksti]

App Inventori kasutajaliides
App Inventor – visuaalprogrammeerimine

MIT App Inventor loodi, et populariseerida Androidi rakenduste loomist, muutes selle suhteliselt lihtsaks. Rakenduste loomiseks pole vaja suuri tarkvarapakette alla laadida ning kogu töö käib veebilehitsejas. MIT App Inventor koosneb kahest osast:

  • App Inventor Designer, kus saab valida, millistest osadest rakendus koosneb.
  • App Inventor Blocks Editor, kus kirjutatakse programmi koodi. Samas pole tegemist tavalise tekstipõhise programmeerimise, vaid visuaalprogrammeerimisega, kus programmi eri osi kujutatakse tükkidena, mida kasutaja saab sobivasse kohta paigutada.

Valmis rakendust saab jooksutada nii emulaatoris kui ka füüsilises seadmes.[8]

SDL[muuda | redigeeri lähteteksti]

SDL (Simple DirectMedia Layer) võimaldab luua Androidi rakendusi C-keeles ning on mõeldud põhiliselt rakenduste jaoks, mis vajavad riistvarakiirendust. Androidil võimaldab SDLi kasutamine lisada rakendustele OpenGL toe.[9]

Simple[muuda | redigeeri lähteteksti]

Simple on BASICuga sarnane keel, mille süntaks on lihtne ning mis on põhiliselt mõeldud algajatele. Simple võimaldab kiirelt luua Androidi rakendusi. Simple'i programm koosneb kahest osast: komponentide kirjeldusest ning käitumisloogikast. Vastavat paketti enam aktiivselt edasi ei arendata, viimane uuendus oli 13. augustil 2009. aastal.[10]

RFO Basic[muuda | redigeeri lähteteksti]

Tegemist on vabavaralise arendustööriistaga, mis võimaldab BASICule sarnases keeles kirjutada Androidi rakendusi. RFO Basic töötab erinevalt suuremast osast arenduspakettidest Androidi seadmel. RFO Basic toetab suhtlust riistvara ning mitmesuguste sensoritega, võimaldab mitmikpuudutust, oskab suhelda erinevate võrguprotokollidega (näiteks FTP ja HTTP) ning toetab suurt hulka teisi funktsioone, mida kasutajal vaja võib minna. RFO Basic on piisavalt lihtne algajale, kuid samas piisavalt võimas kogenenud programmeerijale.[11]

Koodinäide:

'Programm kontrollib, kas fail temp.txt on olemas
'ning vajadusel loob selle.
'Siis kuvab faili sisu ning võimaldab seda muuta.
'Lõpuks salvestab failis tehtud muudatused.

file.exists b, "temp.txt"
if b=0 then console.save "temp.txt"
grabfile s$, "temp.txt"
text.input r$, s$
print r$
console.save "temp.txt"

Basic4Android[muuda | redigeeri lähteteksti]

Basic4Android on kommertstarkvara, mis on mõeldud kiireks prototüüpimiseks. Programmeerimine toimub MS Visual Basicule sarnases keeles. Basic4Android on sarnane Simple'le, kuid see on hästi dokumenteeritud ning keele arendamine toimub pidevalt. Basic4Android on üks vähestest pakettidest, kus nii IDE (Integrated Development Environment – integreeritud programmeerimiskeskkond) kui ka keel ise on mõeldud ainult Androidi rakenduste loomiseks. [12]

Android APIminer[muuda | redigeeri lähteteksti]

Android APIminer on tööriist, mis täiendab vaikimisi Androidi rakendusliidese dokumentatsiooni näidetega ning meetodite juures kuvab, milliseid neist sagedamini koos kasutatakse. Koodinäited pärinevad vabavaralistest rakendustest.[13]

Android Developer Challenge[muuda | redigeeri lähteteksti]

Android Developer Challenge on võistlus, mis autasustab arendajaid, kes loovad kasulikke ja kvaliteetseid programme. Võistlus toimub kümnes kategoorias:

  • Haridus
  • Mängud: Pusle/Casual
  • Mängud: Arkaad/Action
  • Sotsiaalvõrgustikud
  • Elustiil
  • Tootmine/tööriistad
  • Meedia
  • Meelelahutus
  • Reisimine
  • Varia

Võistlus toimub kahes voorus. Esimese voorus valitakse välja kakskümmend rakendust igast kategooriast. Hääletusest saavad osa võtta kõik Androidi kasutajad, kes laevad Android Marketist alla vastava hindamisrakenduse. Hindamisrakendus võimaldab paigaldada, testida ning hinnata kõiki rakendusi, mis on võistlusele esitatud. Hindamisrakendus valib juhuslikud võistlustööd ning laseb kasutajal neid hinnata. Teises voorus toimub hääletamine sama moodi: kasutajad saavad vastava rakenduse abil ligipääsu teise vooru jõudnud rakendusele ning saavad neid hinnata. Lisaks kasutaja häältele, mis moodustavad 40% lõplikust hindest, loevad ka Google'i poolt valitud kohtunike hääled, mis moodustavad 60% hindest. Nende alusel luuakse pingerida ning iga kategooria kolm ning üldarvestuse kolm parimat saavad rahalised auhinnad.

Kategooriate parimaid autasutatakse vastavalt 100 000-, 50 000- ja 25 000-dollarilise rahapreemiaga ning üldarvestuse parimaid vastavalt 150 000-, 50 000- ja 25 000-dollarilise rahapreemiaga.[14]

Kasutajaskonna poolt loodud püsivara[muuda | redigeeri lähteteksti]

CyanogenMod logo

Üks populaarsematest kasutajate poolt loodud püsivaradest on CyanogenMod, mis loodi, et pakkuda paljudele Androidi seadmetele tarkvarauuendusi, isegi kui tootjapoolne toetus on lõppenud. Lisaks uuemale püsivarale pakub CyanogenMod paremat jõudlust ning stabiilsust, võrreldes tootjapoolse püsivaraga. Hetkel arendab CyanogenModi kasutajaskond CyanogenMod 7-t, mis põhineb Android 2.3-l, CyanogenMod 10-t, mis põhineb Android 4.1-l ning CyanogenMod 10.1-te, mis põhineb Android 4.2-l.[15]

Ajalugu[muuda | redigeeri lähteteksti]

Esialgne tagasiside Androidile ei olnud väga positiivne: tarkvara sisaldas vigu ning funktsionaalsus ja dokumentatsioon olid puudulikud.[16]. Sellest hoolimata hakkasid esimesed programmid valmima juba mõne nädala jooksul pärast platvormi teatavakstegemist. Esimene kasutajatele kättesaadav rakendus oli ussimäng.[17]

Arendajate jaoks loodi eraldi telefon: Android Dev Phone, millel puudus võrgulukk ning kogu riistvara oli vabalt kasutatav. Kuigi tarkvaraarendamiseks saab kasutada tavalisi jaemüügis olevaid telefone, on jäetud arendajatele valik kasutada piiranguteta riistvaraplatvormi. Esimene Android SDK versioon tuli välja 12. novembril 2007. aastal. Android Developer Challenge meeskond tegi 15. juulil 2008. aastal kogemata teatavaks uue SDK versiooni olemasolu, saates ekslikult privaatlingi kõikidele võistluselt osavõtjatele, kuigi see oli mõeldud ainult esimesest voorust edasipääsenutele. Arendajate seas tekkis suur pahameel, sest Google ei võimaldanud kõigile ligipääsu uusimatele arendustööriistadele.[18]

Viited[muuda | redigeeri lähteteksti]

  1. Android Developer Tools (vaadatud 27.09.2013)
  2. AppBrain – Number of available Android applications (vaadatud 27.09.2013)
  3. Get the Android SDK. Kasutatud 27.09.2013. (Inglise)
  4. Glossary. Kasutatud 27.09.2013. (Inglise)
  5. Android Debug Bridge. Kasutatud 27.09.2013. (Inglise)
  6. Android Native Apps. Kasutatud 27.09.2013. (Inglise)
  7. Accessory Development Kit. Kasutatud 27.09.2013. (Inglise)
  8. What is App Inventor. Kasutatud 27.09.2013. (Inglise)
  9. Introduction to SDL 2.0. Kasutatud 27.09.2013. (Inglise)
  10. Programming Made Simple. Kasutatud 27.09.2013. (Inglise)
  11. Learn RFO Basic – The Easiest Way To Create Android Apps. Kasutatud 27.09.2013. (Inglise)
  12. Basic4Android – General features. Kasutatud 27.09.2013. (Inglise)
  13. APIMiner – Documenting APIs with source code examples. Kasutatud 27.09.2013. (Inglise)
  14. Android Developer Challenge. Kasutatud 27.09.2013. (Inglise)
  15. CyanogenMod – About. Kasutatud 27.09.2013. (Inglise)
  16. Ryan Paul. Developing apps for Google Android: it’s a mixed bag. arstechnica.com, 19.12.2007. Kasutatud 27.09.2013. (Inglise)
  17. Android Freeware – Snake. Kasutatud 27.09.2013. (Inglise)
  18. Cade Metz. Google plays Hide and Seek with Android SDK. The Register, 14.07.2008. Kasutatud 27.09.2013. (Inglise)